SQL Server - Nombre de tabla variable en la clausula FROM

   
Vista:

Nombre de tabla variable en la clausula FROM

Publicado por Nicolas acunnicolasf@hotmail.com (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

Nombre de tabla variable en la clausula FROM

Publicado por Isaias (3180 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

Nombre de tabla variable en la clausula FROM

Publicado por Nicolas acunnicolasf@hotmail.com (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

Nombre de tabla variable en la clausula FROM

Publicado por Isaias (3180 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

Nombre de tabla variable en la clausula FROM

Publicado por Nicolas Acunnicolasf@hotmail.com (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