-1

我有无限循环,在其中我使用选择生成的列更新一列的整个值。当更新中的更改数为 0 时,我想打破循环。更新返回行数,所以我需要在更新之前和更新列之后进行比较。

4

2 回答 2

0

我认为您正在寻找这样的东西:-

    WHILE(1)
    BEGIN 
    -- Some logic here ---
    UPDATE HumanResources.Employee 
    SET JobTitle = N'Executive'
    WHERE NationalIDNumber = 123456789
    IF @@ROWCOUNT = 0
    BREAK 

    END   
于 2013-05-30T10:34:28.857 回答
0

您可以使用@@ROWCOUNT获取受 影响的行数UPDATEUPDATE您可以通过为该子句提供一个WHERE排除不需要更改的行的子句来获得实际不同的行数。例如:

UPDATE Tbl1
SET col1 = col2
WHERE col1 != col2

IF ( @@RowCount == 0) BREAK
于 2013-05-30T10:59:03.687 回答