在SQL中,ROWCOUNT是一個系統變量,用于返回最后一個執行的SQL語句所影響的行數。它可以用于判斷SQL語句的執行結果,以及在編寫存儲過程或觸發器時進行邏輯控制。
以下是ROWCOUNT的常見用法:
DELETE FROM table_name WHERE condition;
IF ROWCOUNT > 0
BEGIN
PRINT '刪除成功';
END
ELSE
BEGIN
PRINT '刪除失敗';
END
UPDATE table_name SET column_name = value WHERE condition;
IF ROWCOUNT > 0
BEGIN
PRINT '更新成功';
END
ELSE
BEGIN
PRINT '更新失敗';
END
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
IF ROWCOUNT > 0
BEGIN
PRINT '插入成功';
END
ELSE
BEGIN
PRINT '插入失敗';
END
SELECT column1, column2, ...
FROM table_name
WHERE condition;
IF ROWCOUNT > 0
BEGIN
PRINT '查詢到結果';
END
ELSE
BEGIN
PRINT '未查詢到結果';
END
DECLARE @count INT = 0;
WHILE @count < 10
BEGIN
-- 執行某個操作
SET @count = @count + 1;
END
PRINT '循環執行了 ' + CAST(@count AS VARCHAR) + ' 次';
需要注意的是,ROWCOUNT的值在每次執行SQL語句后會被重置為當前語句所影響的行數,并且只返回最后一個執行的SQL語句的行數,所以在使用ROWCOUNT之前需要確保它的值是我們所期望的。