SQL Server - Crear Tabla mediante una Variable

 
Vista:

Crear Tabla mediante una Variable

Publicado por Andres Ramos (6 intervenciones) el 19/08/2008 01:25:25
Tengo este fragmento de transac SQL

-- DECLARACION DE VARIABLES
DECLARE
@CODEMPRESA varchar(5)
,@IDTIPO varchar (5)
,@NUMERO int
,@RAZONSOCIALTERCERO varchar (60)


-- TABLA TEMPORAL PARA CONSULTA
DECLARE @TMP_Pedidos Table
(
CODEMPRESA varchar(5)
,IDTIPO varchar (5)
,NUMERO int
,RAZONSOCIALTERCERO varchar (60)
)
-- Insertamos en la tabla temporal
INSERT @TMP_Pedidos
(
CODEMPRESA
,IDTIPO
,NUMERO
,RAZONSOCIALTERCERO
)
SELECT
Altagraf.Ventas.SQL_PEDIDOS.CODEMPRESA,
Altagraf.Ventas.SQL_PEDIDOS.IDTIPO,
Altagraf.Ventas.SQL_PEDIDOS.NUMERO,
Altagraf.Ventas.SQL_PEDIDOS.RAZONSOCIALTERCERO
FROM
Altagraf.Ventas.SQL_PEDIDOS
WHERE Altagraf.Ventas.SQL_PEDIDOS.ESTADO = 'NR'

Como hago para que el nombre de la tabla @TMP_Pedidos el usuario de el nombre y que no siempre el nombre de la tabla sea @TMP_Pedidos , no se como hacer para almacenar el nombre de la tabla en una variable y que despues se cree la tabla con el nombre que se le asigno a la Variable
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

RE:Crear Tabla mediante una Variable

Publicado por Isaias (3308 intervenciones) el 19/08/2008 15:10:05
No es necesario crear la tabla primero para despues insertar los registros, basta y sobra con hacer un INTO

SELECT
Altagraf.Ventas.SQL_PEDIDOS.CODEMPRESA,
Altagraf.Ventas.SQL_PEDIDOS.IDTIPO,
Altagraf.Ventas.SQL_PEDIDOS.NUMERO,
Altagraf.Ventas.SQL_PEDIDOS.RAZONSOCIALTERCERO
-- *************************************************************
-- Aqui la modificacion
-- *************************************************************
INTO @TMP_Pedidos
-- *************************************************************
FROM
Altagraf.Ventas.SQL_PEDIDOS
WHERE Altagraf.Ventas.SQL_PEDIDOS.ESTADO = 'NR'

¿Para que quieres que la tabla temporal sea variable?
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

RE:Crear Tabla mediante una Variable

Publicado por Jorge Morales (13 intervenciones) el 20/08/2008 20:33:29
Saludos Andres, puedes utilizar Exec, ejemplo:

declare @NomTabla varchar(20)
declare @Script varchar(100)

set @NomTabla = 'C_CTES'
set @Script = ' CREATE TABLE '+@NomTabla
+ ' (Campo1 Integer, Campo2 Varchar(10))'

exec (@script)

Espero que esto tambien te sea de ayuda.
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

RE:Crear Tabla mediante una Variable

Publicado por Isaias (3308 intervenciones) el 21/08/2008 02:02:21
Jorge

Muchas veces no es CONTESTAR POR CONTESTAR, nuestro amigo habla de TABLAS TEMPORALES, y quiere que cada usuario tenga su propia tabla TEMPORAL, al menos eso entendi.

MI duda, es PARA QUE??, para que nuestro amigo, quiere "personalizar" la creacion de una tabla temporal.
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

RE:Crear Tabla mediante una Variable

Publicado por Jorge Enrique (13 intervenciones) el 21/08/2008 18:30:36
Saludos Isaias, tienes mucha razon en lo que dices no se trata de solo contestar, pero tampoco me gustaría tratar de analizar algo que, supongo, el ya sabe para que lo necesita. Creeme que no menosprecio para nada tus excelentes consejos ya que tambien me han servido de mucho, pero tambien opino que no hay que dejarlos con la duda que se les presenta, total, si no les sirve con el problema que tienen, en alguna otra cosa les ayudarán las diferentes soluciones y consejos que con mucho gusto les proporcionamos.

Es mi humilde opinión y espero que la comprendas Isaias.
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

RE:Crear Tabla mediante una Variable

Publicado por Isaias (3308 intervenciones) el 22/08/2008 21:19:51
Asi lo entiendo, pero si nuestro amigo cree (solo eso) que se va a duplicar la creacion de su tabla TEMPORAL, al tener 1000 usuarios ejecutando el mismo proceso, esto, es una vision o apreciacion erronea, ya que aunque se llamen EXACTAMENTE IGUAL, cada objeto tiene un ID diferente en la base TEMPDB.

Por lo que no habria de que preocuparse

Saludos
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

RE:Crear Tabla mediante una Variable

Publicado por Arturo Concha (1 intervención) el 05/03/2012 16:22:21
Estimado, es completamente correcto lo que escriber referente al ID, pero creo que no te has puesto en cierta situacion que necesitarias otro enfoque para tabla temporal. Por ejemplo al desplegar una pantalla y durante esta activa existira cierta tabla, luego al cerrarla se va la tabla.

Slds.
Arturo
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

RE:Crear Tabla mediante una Variable

Publicado por Andres ramos (6 intervenciones) el 21/08/2008 16:13:45
Hola Isaisa , ese era el truco que estaba buscando Muchas 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