@@ROWCOUNT 含义
返回受上一語句影響的行數。?如果行數大于 20 億,請使用?ROWCOUNT_BIG。
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 <選項>、DEALLOCATE CURSOR、CLOSE CURSOR、BEGIN TRANSACTION 或 COMMIT TRANSACTION 等語句將 ROWCOUNT 值重置為 0。
本機編譯存儲過程保留以前的 @@ROWCOUNT。?本機編譯存儲過程中的 Transact-SQL 語句不設置 @@ROWCOUNT。?有關詳細信息,請參閱本機編譯的存儲過程簡介。
以下示例執行?UPDATE?語句并使用?@@ROWCOUNT?來檢測是否更改了任何行。
USE AdventureWorks2012; GO UPDATE HumanResources.Employee SET JobTitle = N'Executive' WHERE NationalIDNumber = 123456789 IF @@ROWCOUNT = 0 PRINT 'Warning: No rows were updated'; GO轉載于:https://www.cnblogs.com/haore147/p/3902944.html
總結
以上是生活随笔為你收集整理的@@ROWCOUNT 含义的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hdu1166敌兵布阵hdu1754I
- 下一篇: HttpResponseCache的使用