事件
3月31日 下午11時 - 4月2日 下午11時
規模最大的 SQL、Fabric 與 Power BI 學習盛會。 3 月 31 日至 4 月 2 日。 使用代碼 FABINSIDER 可節省 $400。
立即報名適用於:SQL Server
Azure SQL 資料庫
Azure SQL 受控執行個體
傳回受到前一個陳述式所影響的資料列數。 如果資料列的數目超過 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>
、、、CLOSE CURSOR
DEALLOCATE CURSOR
RAISERROR
PRINT
、 BEGIN TRANSACTION
或 等COMMIT TRANSACTION
語句會將ROWCOUNT
值0
重設為 。
原生編譯的預存程式會保留先前 @@ROWCOUNT
的 。 原生編譯預存程式內的 Transact-SQL 語句不會設定 @@ROWCOUNT
。 如需詳細資訊,請參閱原生編譯的預存程序。
下列範例會執行 UPDATE
陳述式,並且使用 @@ROWCOUNT
來偵測是否有任何資料列變更。
USE AdventureWorks2022;
GO
UPDATE HumanResources.Employee
SET JobTitle = N'Executive'
WHERE NationalIDNumber = 123456789
IF @@ROWCOUNT = 0
PRINT 'Warning: No rows were updated';
GO
事件
3月31日 下午11時 - 4月2日 下午11時
規模最大的 SQL、Fabric 與 Power BI 學習盛會。 3 月 31 日至 4 月 2 日。 使用代碼 FABINSIDER 可節省 $400。
立即報名