SQL Server - CONCATENAR

   
Vista:

CONCATENAR

Publicado por IPER PIRANFON (5 intervenciones) el 09/01/2015 01:50:44
Hola,
tengo un problema, estoy haciendo una inserción en una tabla mediante una variable, este es el codigo
1
2
3
4
5
6
DECLARE @Cad1 CHAR(400)
declare @del int = 2
DECLARE @Pol int = 0
declare @uorg int = 205
set @cad1 = 'INSERT PolTmpCierre Select TOP 1 POLIZA_NUM FROM CG2014D'+STR(@Del,1)+'.DBO.Poliza WHERE UORG_CODIGO = '+CONVERT(CHAR(3),@uorg)+' ORDER BY POLIZA_NUM DESC'
exec @Cad1
y me da el siguiente error
Msg 203, Level 16, State 2, Line 6
El nombre 'INSERT PolTmpCierre Select TOP 1 POLIZA_NUM FROM CG2014D2.DBO.Poliza WHERE UORG_CODIGO = 205 ORDER BY POLIZA_NUM DESC

alguna idea?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

CONCATENAR

Publicado por Isaias (3186 intervenciones) el 09/01/2015 19:12:12
Simple, la estructura del INSERT es:

INSERT tutabla (tuscampos)
SELECT ......................

¿Tienes esa estructura en tu query dinamico?

Por otro lado, deja de usar el EXEC @Tuvariable y cambialo por EXEC sp_executesql @tuvariable
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

CONCATENAR

Publicado por Iper Piranfon Iper_p@hotmail.com (5 intervenciones) el 14/01/2015 05:28:27
Hola ya resolví el problema me estaba faltando poner entre paréntesis la variable, y seguiré tu consejo sobre el SP_executesql.
Mil gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

CONCATENAR

Publicado por Isaias (3186 intervenciones) el 14/01/2015 18:28:05
Que bien, suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar