Guardar Nombres de tablas en campos para consultas

04/04/2005 - 15:57 por SergioT | Informe spam
Hola

Es posible tomar el valor de un campo y asumirlo como nombre de tabla para
usarlo en una consulta o un join???

Ej.
T(clave,NombreTabla)
Clave NombreTabla
1 Tabla1
2 Tabla2
3 Tabla2

Select T.NombreTabla.*
from T
where T.clave=3

Gracias por su tiempo
Sergio
 

Leer las respuestas

#1 Alejandro Mesa
04/04/2005 - 16:19 | Informe spam
Sergio,

Eso que quieres hacer no es permitido es t-sql. Pudieras capturar el nombre
de la tabla en una variable y usar sql dinamico.

Ejemplo:

declare @t sysname
declare @sql nvarchar(4000)

select @t = nombre_tabla from t
set @sql = N'select * from ' + quotename(@t)

exec sp_executesql @sql
go

Existen muchos contras cuando usas sql dinamico. Aca te paso un link donde
puedes leer sobre esto.

The Curse and Blessings of Dynamic SQL
http://www.sommarskog.se/dynamic_sql.html


AMB

"SergioT" wrote:

Hola

Es posible tomar el valor de un campo y asumirlo como nombre de tabla para
usarlo en una consulta o un join???

Ej.
T(clave,NombreTabla)
Clave NombreTabla
1 Tabla1
2 Tabla2
3 Tabla2

Select T.NombreTabla.*
from T
where T.clave=3

Gracias por su tiempo
Sergio



Preguntas similares