sqlserver 中 @@rowcount的簡單用法

返回受上一語句影響的行數。如果行數大於 20 億,請使用 ROWCOUNT_BIG

 

 語法

@@ROWCOUNT


SQL中@@ROWCOUNT函數 - xiao_mege - xiao_mege的博客       返回類型

  int


SQL中@@ROWCOUNT函數 - xiao_mege - xiao_mege的博客  註釋

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。


SQL中@@ROWCOUNT函數 - xiao_mege - xiao_mege的博客  示例

以下示例執行
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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章