检查UPDATE进行了多少更改

时间:2013-05-30 10:29:27

标签: sql sql-server

我有无限循环,我使用select-generated列从一列更新整个值。我想在更新的更改次数为0时中断循环.Update返回行数,因此我需要在更新之前和更新列之后进行比较。

2 个答案:

答案 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