Se puede: Select * from @Tablename

12/08/2005 - 16:47 por Carlos A. Díaz | Informe spam
Se puede hacer la instruccion descripta, lo intente pero me indica el error
que debo declarar la variable.

declare @TableName sysname

set @TableName='prueba'

select * from @Tablename


Saludos y gracias
 

Leer las respuestas

#1 Alejandro Mesa
12/08/2005 - 17:09 | Informe spam
Carlos,

Se puede hacer la instruccion descripta, lo intente pero me indica el error
que debo declarar la variable.



Se puede hacer utilizando sql dinamico, pero te comento que en vez de ganar,
pierdes. Cada vez que ejecutes la sentencia, sql server tendra que chequear
que la sintaxis de la sentencia, compilar y ejecutar. Existen otros
problemas, como seguridad, que hacen que este tipo de programacion en t-sql
no sea la mas adecuada. Te paso un ejemplo de como pudieras hacerlo y tambien
te paso un link a un articulo estupendo que habla sonre los pros y cons de
usar sql dinamico.

declare @sql nvarchar(4000)
declare @TableName sysname

set @TableName='prueba'
set @sql N'select * from ' + @TableName

exec (@sql)


exec sp_executesql @sql
go

Las virtudes y maldades del SQL dinámico
http://www.hayes.ch/sql/sql_dinamico.html


AMB

"Carlos A. Díaz" wrote:

Se puede hacer la instruccion descripta, lo intente pero me indica el error
que debo declarar la variable.

declare @TableName sysname

set @TableName='prueba'

select * from @Tablename


Saludos y gracias



Preguntas similares