在SQL中,ROWCOUNT是一个系统变量,用于返回最后一个执行的SQL语句所影响的行数。它可以用于判断SQL语句的执行结果,以及在编写存储过程或触发器时进行逻辑控制。
以下是ROWCOUNT的常见用法:
1. 用于判断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
```
2. 用于判断SELECT语句的执行结果:
```
SELECT column1, column2, ...
FROM table_name
WHERE condition;
IF ROWCOUNT > 0
BEGIN
PRINT '查询到结果';
END
ELSE
BEGIN
PRINT '未查询到结果';
END
```
3. 用于循环操作:
```
DECLARE @count INT = 0;
WHILE @count < 10
BEGIN
-- 执行某个操作
SET @count = @count + 1;
END
PRINT '循环执行了 ' + CAST(@count AS VARCHAR) + ' 次';
```
需要注意的是,ROWCOUNT的值在每次执行SQL语句后会被重置为当前语句所影响的行数,并且只返回最后一个执行的SQL语句的行数,所以在使用ROWCOUNT之前需要确保它的值是我们所期望的。