返回受上一語句影響的行數(shù)。如果行數(shù)大于 20 億,請使用 ROWCOUNT_BIG。
語法
@@ROWCOUNT
int
Transact-SQL 語句可以通過下列方式設置 @@ROWCOUNT 的值:
執(zhí)行簡單分配的語句始終將 @@ROWCOUNT 值設置為 1。不將任何行發(fā)送到客戶端。這些語句的示例如下:SET @local_variable、RETURN、READTEXT 以及不帶查詢 Select 語句,如 SELECT GETDATE() 或 SELECT 'Generic Text'。
在查詢中執(zhí)行分配或使用 RETURN 的語句將 @@ROWCOUNT 值設置為受查詢影響或由查詢讀取的行數(shù),例如:SELECT @local_variable = c1 FROM t1。
數(shù)據(jù)操作語言 (DML) 語句將 @@ROWCOUNT 值設置為受查詢影響的行數(shù),并將該值返回到客戶端。DML 語句不會將任何行發(fā)送到客戶端。
DECLARE CURSOR 和 FETCH 將 @@ROWCOUNT 值設置為 1。
EXECUTE 語句保留前一個 @@ROWCOUNT。
USE、SET <option>、DEALLOCATE CURSOR、CLOSE CURSOR、BEGIN TRANSACTION 或 COMMIT TRANSACTION 等語句將 ROWCOUNT 值重置為 0。
以下示例執(zhí)行
UPDATE
語句并使用
@@ROWCOUNT
來檢測是否更改了任何一些行。
USE AdventureWorks2008R2;
GO UPDATE HumanResources.Employee SET JobTitle = N'Executive'
WHERE NationalIDNumber = 123456789
IF @@ROWCOUNT = 0
PRINT 'Warning: No rows were updated';
GO