返回受上一語句影響的行數。如果行數大於 20 億,請使用 ROWCOUNT_BIG。
語法
@@ROWCOUNT
返回類型
int
註釋
Transact-SQL 語句可以通過下列方式設置 @@ROWCOUNT 的值:
將 @@ROWCOUNT 設置爲受影響或被讀取的行的數目。可以將行發送到客戶端,也可以不發送。
保留前一個語句執行中的 @@ROWCOUNT。
將 @@ROWCOUNT 重置爲 0 但不將該值返回到客戶端。
執行簡單分配的語句始終將 @@ROWCOUNT 值設置爲 1。不將任何行發送到客戶端。這些語句的示例如下:SET @local_variable、RETURN、READTEXT 以及不帶查詢 Select 語句,如 SELECT GETDATE() 或 SELECT 'Generic Text'。
在查詢中執行分配或使用 RETURN 的語句將 @@ROWCOUNT 值設置爲受查詢影響或由查詢讀取的行數,例如:SELECT @local_variable = c1 FROM t1。
數據操作語言 (DML) 語句將 @@ROWCOUNT 值設置爲受查詢影響的行數,並將該值返回到客戶端。DML 語句不會將任何行發送到客戶端。
DECLARE CURSOR 和 FETCH 將 @@ROWCOUNT 值設置爲 1。
EXECUTE 語句保留前一個 @@ROWCOUNT。
USE、SET <option>、DEALLOCATE CURSOR、CLOSE CURSOR、BEGIN TRANSACTION 或 COMMIT TRANSACTION 等語句將 ROWCOUNT 值重置爲 0。
示例
以下示例執行
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