是否使用循环迭代器更新列值



这是我的代码:

DECLARE @i int
DECLARE @selec nvarchar(max)
SET @i = 0
WHILE @i <= 25
BEGIN
SET @selec = 'UPDATE BOMT'+ LTRIM(STR(@i+1)) + '
SET   [Scenario ID] = @i'
SET @i = @i+1
EXEC(@selec)    
END

我试图遍历我拥有的25个表(BOMT1、BOMT2、BOMT3等(的列表,并将迭代器的值@i添加到名为场景ID的列中的每一行。我收到一个错误,说我需要:

声明标量值@i。

如有任何帮助,我们将不胜感激-谢谢!

您只需要像在select语句中那样,通过将变量放在字符串之外来稍微改变一下。

试试这个

WHILE @i <= 25
BEGIN
SET @selec = 'UPDATE BOMT'+ LTRIM(STR(@i+1)) + '
SET   [Scenario ID] = ' + LTRIM(STR(@i+1))
SET @i = @i+1
EXEC(@selec)   
END

最新更新