在sql server 2005中的select语句中使用变量代替表

时间:2009-08-22 06:33:31

标签: sql-server-2005

declare @var sysname
declare @sql varchar(5000)
set @var = 'Table_name'

set @sql = 'select * from ' + @var
exec (@sql)

我不想使用上面的脚本。

使用下面提到的脚本无效。

declare @var sysname
set @var = 'Table_name'

select * from @var

除了使用动态查询之外还有什么方法吗?我想使用类似第二个的东西。

2 个答案:

答案 0 :(得分:2)

我认为不可能。如果动态确定表的名称,则在SELECT语句中使用它的唯一方法是通过EXEC。

答案 1 :(得分:0)

你不能这样做。这个answer to类似的问题解释了正确的方法。