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.

