SQL Server - Nombre de tabla variable en la clausula FROM

 
Vista:
sin imagen de perfil

Nombre de tabla variable en la clausula FROM

Publicado por Nicolas (4 intervenciones) el 10/03/2016 04:39:31
Hola a todos,

Estoy necesitando resolver el siguiente inconveniente (a modo de ejemplo cito algo bien básico mas abajo). Quiero pasar como parámetros el nombre de la tabla y el id para hacer la consulta. Este ejemplo me tira un error donde dice que la variable @Nombre_tabla_PAR no esta declarada. He leido en varios lados que la clausula FROM no acepta valores de una variable y que se debe hacer mediante un procedimiento.

Hay alguna solución alternativa para no crear un procedimiento??
Desde ya muchas gracias.
Saludos.


DECLARE @Nombre_tabla_PAR VARCHAR (100)
SET @Nombre_tabla_PAR = 'ANEXO_GUME'

DECLARE @ID_PAR VARCHAR (100)
SET @ID_PAR = 'XIRTOO1'

SELECT * FROM @Nombre_tabla_PAR WHERE ID = @ID_PAR
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
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Nombre de tabla variable en la clausula FROM

Publicado por Isaias (4558 intervenciones) el 10/03/2016 18:07:57
Si, solo que debes tomar en cuenta que en los query's dinámicos, no se hace uso de los índices.

1
2
3
4
5
6
7
8
9
10
DECLARE @Nombre_tabla_PAR VARCHAR (100)
DECLARE @SQLString NVARCHAR(1000)
 SET @Nombre_tabla_PAR = 'ANEXO_GUME'
 
 
 DECLARE @ID_PAR VARCHAR (100)
 SET @ID_PAR = 'XIRTOO1'
 
SET @SQLString  = N' SELECT * FROM ' + @Nombre_tabla_PAR + 'WHERE ID = ' + @ID_PAR
EXEC SP_EXECUTESQL @SQLString
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Nombre de tabla variable en la clausula FROM

Publicado por Nicolas (4 intervenciones) el 10/03/2016 19:43:33
Isaias, he probado y funciona correctamente. Muchas gracias por la respuesta!
Saludos,
Nicolás.
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
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Nombre de tabla variable en la clausula FROM

Publicado por Isaias (4558 intervenciones) el 10/03/2016 19:54:26
De nada

Te recomiendo leas un poco sobre SP_EXECUTESQL, puede recibir parámetros y regresar parámetros (con resultados).

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Nombre de tabla variable en la clausula FROM

Publicado por Nicolas (4 intervenciones) el 10/03/2016 20:00:49
Voy a tomar el consejo. Muchas gracias nuevamente. 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