SQLにおけるrowcountの使用法
ROWCOUNTはSQLのシステム変数で、最後に実行されたSQL文で影響を受けた行の数を返します。これはSQL文の実行結果を判定したり、ストアドプロシージャやトリガを作成する際に論理制御を行うために使用できます。
ROWCOUNTの一般的な使い方は次のとおりです。
- DELETE、UPDATE、INSERT文の実行結果の判定に用いられる。
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文実行結果の判定に使用する。
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) + ' 次';
SQL文を実行するたびにROWCOUNTの値は実行された文の影響を受けた行数で上書きされ、最後に実行されたSQL文の行数を返すため、使用する前にROWCOUNTの値が期待したものであることを確認する必要があることに注意してください。