Buenas tardes,

 

Hemos intentado las instrucciones siguientes pero para todas el sistema 
responde error:

 

1. update  archivoA   inner join   archivoB  on  archivoA.ValorA = 
archivoB.ValorB  set  archivoA.valorviejo = archivoB.Valornuevo  

** Error: "Column qualifier or table   archivoB   undefined."

 

2. update  archivoA   set    archivoA.valorviejo = archivoB. Valornuevo from 
archivoA  as a inner join   archivoB as b on  a. clavea = b. claveb 

** Error: "Column qualifier or table   archivoB   undefined."

 

3. update  archivoA  set archivoA.valorviejo =(select archivoB.Valornuevo  from 
archivoB where  archivoA .clavea = archivoB.claveb)                             
               

** Error: "Null values not allowed in column or variable   archivoA.valorviejo 
" 

 

4. update  archivoA  set   archivoA.valorviejo = (select value(archivoB.ValorB, 
0) from archivoB where   archivoA .clavea = archivoB.claveb)

** Error: "Null values not allowed in column or variable   archivoA.valorviejo 
" 

 

5. UPDATE archivoA  set campo1 =(select valor1 from archivoB, archivoA  where   
archivoA .clavea = archivoB.claveb )

** Error: "Result of SELECT more than one row"

 

 

La Version de OS400 que usamos es:  V5R4M5.

 

Gracias 

Un saludo. 

Martha 

 

________________________________

De: [email protected] 
[mailto:[email protected]] En nombre de Yosia, Marcelo
Enviado el: jueves, 25 de febrero de 2010 15:12
Para: 'forum.help400'
Asunto: RE: Consulta Update SQL
Importancia: Baja

 

Prueba con esta sentencia

 

update archivo a                                                   

set campo1 = (select value(b.campo1, 0) from archivo b where         

                         a.clave=b.clave),                                      
              

      campo2 = 0,                                                    

      campo3 = (select value(c.campo1, 0) from archivo c where         

                         a.clave=c.clave)                                       
              

where condicion               

 

En el ejemplo campo1 y campo3 son actualizados con una subconsulta sobre otro 
archivo que debe retornar 1 solo registro:

Si retorna más de un registro da error.      

Si retorna 0 registros devuelve null y da error al asignar null a un campo que 
no lo permite (la instrucción value evita eso forzando el cero). 

Marcelo Yosia 
www.mercantilandina.com.ar 

 

 -----Mensaje original-----
De: [email protected] 
[mailto:[email protected]]en nombre de Gomez Covezdy, 
Martha
Enviado el: Jueves, 25 de Febrero de 2010 10:58 a.m.
Para: [email protected]
Asunto: Consulta Update SQL
Importancia: Alta

        Por favor orientarnos sobre cómo poder hacer en AS400 con SQL un UPDATE 
de un campo de un fichero desde un campo de otro fichero.

        Hemos intentado la siguiente sintaxis pero presenta error:

         

        update  archivoA   inner join   archivoB  on  archivoA.ValorA = 
archivoB.ValorB 

        set    archivoA.valorviejo = archivoB. valornuevo

         

        Error: Keyword INNER not expected.

         

        Gracias 

        Un saludo. 

        Martha 

         

____________________________________________________
© Publicaciones Help400, S.L. - Todos los
derechos reservados http://www.help400.es
----------------------------------------------------
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400

Responder a