我想删除表中的多个列,如何在WHILE循环中使用变量作为列名的一部分?感谢。
DECLARE @colnum INT
Set @colnum = 13
WHILE @colnum <=37
BEGIN
ALTER TABLE PC$
DROP COLUMN F+ @colnum
SET @colnum = @colnum +1
END;
答案 0 :(得分:0)
您可以构建动态sql代码段并执行它:
{
"x": {
"a1": { "b": {
"c1": { "d": { "e1": {}, "e2": {} } },
"c2": { "d": { "e3": {}, "e4": {} } }
}
},
"a2": { "b": {
"c3": { "d": { "e1": {}, "e5": {} } },
"c4": { "d": { "e6": {} } }
}
}
}
}
答案 1 :(得分:0)
使用动态SQL。
DECLARE @colnum INT
Declare @strsql varchar(max)
Set @colnum = 13
WHILE @colnum <=37
BEGIN
set @strsql ='ALTER TABLE PC$
DROP COLUMN F' + cast(@colnum as varchar(20))
exec(@strsql )
SET @colnum = @colnum +1
END;