【发布时间】:2020-11-30 14:42:15
【问题描述】:
我需要在 select 子句中调用变量的方法。 例如。表名“TableList”包含表名列表。
DECLARE @CounterNumber INT = 1
Declare @name varchar(255)
Set @name = (Select Name from TableList where id = @CounterNumber)
WHILE @CounterNumber <= 3
select top 10 * from @name
set @CounterNumber = @CounterNumber + 1
错误信息 - 必须声明表变量“@name”。
我也使用了“quotename()”,但仍然遇到同样的错误。
【问题讨论】:
-
变量不能用来替换文字的名称。您实际上想在这里实现什么?以上将(如果它按您的预期工作)只是
SELECT10 来自同一个表的任意行;我怀疑这是故意的。
标签: sql sql-server ssms