Buenas
@literal y @fecha no son constantes, son dos variables que cogen el valor 
en otro sitio. De todas maneras lo he probado y no me compila. Da el mismo 
error de que la sentencia contiene un numero erroneo de valores.



Fernando Sánchez Piña <[email protected]> 
Enviado por: [email protected]
17/03/2011 09:47
Por favor, responda a
"forum.help400" <[email protected]>


Para
"forum.help400" <[email protected]>
cc

Asunto
Re: Consulta SQL






Buenos días:
 
Creo recordar que para colocar una "constante" necesitas darle un nombre 
con AS, una sentencia SQL directa podria ser:
 
SELECT DATO1, "Texto Constante" AS DATO2
FROM FICHERO
 
Por lo que imagino que en tu SQL bastará con colocar algo como:
 
C/Exec sql                                                         
C+ INSERT INTO Lib/Tabla SELECT PEDEMP, PEDNPE, PEDART, PEDCPR,   
C+ PEDFPE, (PEDCPE-PEDCSE), 0, 0, (PEDUPE-pedure), 0, 0, PEDPPA,   
C+ PEDPCO, PEDPIV, PEDFEN, PEDFUE, PEDUBI, PEDFPR, PEDHDE, PEDHHA, 
C+ PEDUSR, PEDUAL, PEDFAL, :@literal AS NEW1, :@fecha AS NEW2 ,
PEDNAL,      
C+ PEDNFA, PEDFPE, PEDDT3, PEDDI1, PEDDI2, PEDDI3, PEDPOR, PEDTLI,
C+ PEDTDT   
C+ FROM arcomf/pedf WHERE pedemp=:@empresa and pednpe=:@comanda and 
C+ pedfpe=:@data and pedart=:@article         
Recuerda usar los dos puntos delante de las variables.
 
Espero que te funcione
 
Fernando Sánchez Piña.
 
El 17 de marzo de 2011 09:28, <[email protected]> escribió:
Hola Foro. Estoy me estoy peleando con una sentencia SQL embebida y no 
consigo dar con la sintaxis correcta, supongo que será diferente de por 
ejemplo una sentencia para Mysql, porque no me funciona, y en los manuales 
de IBM no consigo encontrar este caso. 
A ver, es muy sencillo, quiero duplicar un registro de una tabla pero 
cambiando algunos valores. 
Lo que intento hacer es lo siguiente: 
C/Exec sql                                                         
C+ INSERT INTO Lib/Tabla SELECT PEDEMP, PEDNPE, PEDART, PEDCPR,   
C+ PEDFPE, (PEDCPE-PEDCSE), 0, 0, (PEDUPE-pedure), 0, 0, PEDPPA,   
C+ PEDPCO, PEDPIV, PEDFEN, PEDFUE, PEDUBI, PEDFPR, PEDHDE, PEDHHA, 
C+ PEDUSR, PEDUAL, PEDFAL, @literal,   @fecha, PEDNAL, PEDNFA,     
C+ PEDFPE, PEDDT3, PEDDI1, PEDDI2, PEDDI3, PEDPOR, PEDTLI, PEDTDT   
C+ FROM arcomf/pedf WHERE pedemp=:@empresa and pednpe=:@comanda and 
C+ pedfpe=:@data and pedart=:@article         
Los valores que muestro en rojo son o bien campos calculados o bien campos 
que pongo a 0, y en principio con estos, al menos me deja compilar el 
programa, no sé si luego me dará problemas, pero luego hay dos campos que 
los quiero cambiar por los valores de dos variables, que son los que he 
marcado en azul  y subrayado y ya no sé cómo ponerlos para que me los 
acepte, porque no me deja compilar el programa. He probado con comilla 
simple, con los 2puntos delante... y no hay manera de compilar. 
Me podeis echar una mano?   
Gracias                
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

Responder a