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

Crear tablas temporales con exec

Estas en el tema de Crear tablas temporales con exec en el foro de SQL Server en Foros del Web. Holas Les pido ayuda para resolver un problema en la creación de tablas temporales que me acaba de ocurrir: Tengo un query que me crea ...
  #1 (permalink)  
Antiguo 13/03/2012, 21:50
 
Fecha de Ingreso: febrero-2012
Mensajes: 7
Antigüedad: 12 años, 9 meses
Puntos: 0
Crear tablas temporales con exec

Holas

Les pido ayuda para resolver un problema en la creación de tablas temporales que me acaba de ocurrir:

Tengo un query que me crea la siguiente cadena:

'CREATE TABLE #Dinamico(
[CumPlanTrabajo] decimal(18,2) DEFAULT(0),
[ClimaO] decimal(18,2) DEFAULT(0)
)'

Ejecuto el query para crear en forma dinámica la tabla:

exec (@Cadena)

SQL server 2005 me envía el siguiente mensaje:
Invalid object name '#Dinamico'.

A continuación les presento el código para que lo prueben:

DECLARE @Cadena varchar (200)
SELECT @Cadena='CREATE TABLE #Dinamico(
[CumPlanTrabajo] decimal(18,2) DEFAULT(0),
[ClimaO] decimal(18,2) DEFAULT(0) )'
exec (@Cadena)
SELECT * FROM #Dinamico
DROP TABLE #Dinamico

En el caso que sea una tabla "normal" no presenta problemas, sin embargo necesito que sea una tabla temporal pues sirve para reportes que muchas personas lo utilizan y no puedo trabajar con tablas "normales"
  #2 (permalink)  
Antiguo 13/03/2012, 22:17
Avatar de ramirezmario7  
Fecha de Ingreso: febrero-2008
Ubicación: Medellín
Mensajes: 336
Antigüedad: 16 años, 9 meses
Puntos: 56
Respuesta: Crear tablas temporales con exec

Hola.
Lo tienes que hacer asi.

DECLARE @Cadena varchar (200)
select @Cadena='CREATE TABLE ##Dinamico(
[CumPlanTrabajo] decimal(18,2) DEFAULT(0),
[ClimaO] decimal(18,2) DEFAULT(0) )'
exec (@Cadena)
SELECT * FROM ##Dinamico
DROP TABLE ##Dinamico

Lo que pasa es que al crear la tabla temporal usando un solo # esa tabla solo existe en la consulta actual, y cuando le das al select ya se ha eliminado automaticamente.
__________________
Mario Ramírez
Desarrollador .NET MCTS
https://www.mcpvirtualbusinesscard.c...nteractivecard
  #3 (permalink)  
Antiguo 14/03/2012, 09:44
 
Fecha de Ingreso: febrero-2012
Mensajes: 7
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Crear tablas temporales con exec

Gracias por tu ayuda
  #4 (permalink)  
Antiguo 14/03/2012, 20:04
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 4 meses
Puntos: 180
Respuesta: Crear tablas temporales con exec

De igual forma, cambia tu exec (cadena) por exec sp_executesql
__________________
MCTS Isaias Islas

Etiquetas: exec, select, server, sql, tabla, tablas, temporales
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




La zona horaria es GMT -6. Ahora son las 11:50.