我有无限循环,我使用select-generated列从一列更新整个值。我想在更新的更改次数为0时中断循环.Update返回行数,因此我需要在更新之前和更新列之后进行比较。
答案 0 :(得分:0)
我认为你正在寻找这样的事情: -
WHILE(1)
BEGIN
-- Some logic here ---
UPDATE HumanResources.Employee
SET JobTitle = N'Executive'
WHERE NationalIDNumber = 123456789
IF @@ROWCOUNT = 0
BREAK
END
答案 1 :(得分:0)
您可以使用@@ROWCOUNT
来获取受UPDATE
影响的行数。您可以通过为UPDATE
子句提供WHERE
子句来排除实际上不同的行数,该子句排除了不需要更改的行。例如:
UPDATE Tbl1
SET col1 = col2
WHERE col1 != col2
IF ( @@RowCount == 0) BREAK