您好,我的代码如下:
DECLARE @cnt INT = 0;
WHILE @cnt < 256
BEGIN
SELECT
ITEM1 ,
ITEM2 ,
ITEM3
FROM Table_Name
SET @cnt = @cnt + 3
End
我想做以下事情:
DECLARE @cnt INT = 0;
WHILE @cnt < 256
BEGIN
SELECT
ITEM@cnt+1 ,
ITEM@cnt+2 ,
ITEM@cnt+3
FROM Table_Name
SET @cnt = @cnt + 3
End
因此它将在一个循环中执行。 请为此提供帮助。
提前谢谢
答案 0 :(得分:1)
如果要使用变量来组成查询,则必须使用动态TSQL来构造选择,然后可以使用EXEC(...)
来执行它:
DECLARE @sql varchar(max)= ' SELECT '
DECLARE @cnt INT = 0;
WHILE @cnt < 256
BEGIN
set @cnt = @cnt + 1
set @sql = @sql + ' ITEM' + cast(@cnt as varchar(max)) + ','
End
set @sql = replace (@sql + ' from #table_name',', from',' from')
exec (@sql)