Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Ejecutar query e insertar en temporal

Estas en el tema de Ejecutar query e insertar en temporal en el foro de SQL Server en Foros del Web. Buenos dias. necesito ejecutar una cadena y el resultado insertarlo en una tabla temporal. tengo esto actualmente pero no me funciona. SET @query = 'SELECT ...
  #1 (permalink)  
Antiguo 15/07/2010, 08:49
 
Fecha de Ingreso: mayo-2009
Mensajes: 177
Antigüedad: 14 años, 11 meses
Puntos: 1
Pregunta Ejecutar query e insertar en temporal

Buenos dias.

necesito ejecutar una cadena y el resultado insertarlo en una tabla temporal. tengo esto actualmente pero no me funciona.

SET @query = 'SELECT * FROM VENTAS_GESTIONES WHERE
ID_GESTION IN(SELECT MAX(ID_GESTION) FROM VENTAS_GESTIONES WHERE ID_USUARIO = '+ @pUsuario+' AND Id_Cliente='+@Cliente+') '+@filtro

INSERT INTO @Tb_Gestiones
exec @query --lo he probado de esta forma y de esta otra
sp_executesql @query

El problema lo tengo es en el resultado que dan ambas ejecuciones, sql me dice lo siguiente:

No se puede utilizar la instrucción EXECUTE como origen al insertar en una variable de tabla.

el string que estoy ejecutando no tiene problemas, ya probe esto. Como ven lo que necesito saber es de que forma podria ejecutar esta cadena y que me devolviese una tabla para poder insertarla en la temporal.

Gracias de antemano.
  #2 (permalink)  
Antiguo 15/07/2010, 08:58
Avatar de -rommel_  
Fecha de Ingreso: junio-2008
Ubicación: Lima
Mensajes: 360
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Ejecutar query e insertar en temporal

y porque no pruebas
haciendo

Insert Into TablaX
Select ....

seria lo mismo...
  #3 (permalink)  
Antiguo 15/07/2010, 12:03
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Ejecutar query e insertar en temporal

Código SQL:
Ver original
  1. SET @query = 'INSERT INTO @Tb_Gestiones
  2. SELECT * FROM VENTAS_GESTIONES
  3. WHERE ID_GESTION IN(SELECT MAX(ID_GESTION) FROM VENTAS_GESTIONES WHERE ID_USUARIO = '+ @pUsuario+' AND Id_Cliente='+@Cliente+') '+@filtro
  4.  
  5. EXEC sp_executesql @query
Ya que Tb_Gestiones es una variable de tipo table tendras que poner el declare dentro de query. Y ojo que solo estara disponible en ese ambito.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.

Etiquetas: ejecutar, query, temporal
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 19:05.