The Wayback Machine - http://web.archive.org/web/20140105211235/http://msdn.microsoft.com:80/zh-tw/library/ms187308(v=sql.90).aspx
匯出 (0) 列印
全部展開
Expand Minimize
1 人當中有 0 人評分為有幫助- 為這個主題評分

@@FETCH_STATUS (Transact-SQL)

傳回針對連接目前開啟的任何資料指標而發出的最後一個資料指標 FETCH 陳述式的狀態。

主題連結圖示 Transact-SQL 語法慣例


@@FETCH_STATUS

integer

傳回值 描述

0

FETCH 陳述式成功。

-1

FETCH 陳述式失敗,或資料列已超出結果集。

-2

遺漏提取的資料列。

由於 @@FETCH_STATUS 在連接的所有資料指標的全域範圍內有效,因此,請小心使用 @@FETCH_STATUS。在執行 FETCH 陳述式之後,@@FETCH_STATUS 的測試必須在針對另一個資料指標執行任何其他 FETCH 陳述式之前進行。在連接進行任何提取之前,並未定義 @@FETCH_STATUS 的值。

例如,使用者從一個資料指標執行 FETCH 陳述式,然後再呼叫預存程序來開啟和處理來自另一個資料指標的結果。當控制權從所呼叫的預存程序傳回時,@@FETCH_STATUS 會反映預存程序中所執行的最後一個 FETCH,而不是在呼叫預存程序之前執行的 FETCH 陳述式。

若要擷取特定資料指標的最後一個提取狀態,請查詢 sys.dm_exec_cursors 動態管理函數的 fetch_status 資料行。

這個範例利用 @@FETCH_STATUS 來控制 WHILE 迴圈中的資料指標活動。

DECLARE Employee_Cursor CURSOR FOR
SELECT EmployeeID, Title FROM AdventureWorks.HumanResources.Employee;
OPEN Employee_Cursor;
FETCH NEXT FROM Employee_Cursor;
WHILE @@FETCH_STATUS = 0
   BEGIN
      FETCH NEXT FROM Employee_Cursor;
   END;
CLOSE Employee_Cursor;
DEALLOCATE Employee_Cursor;
GO
本文對您有任何幫助嗎?
(剩餘 1500 個字元)

社群新增項目

新增
顯示:
© 2014 Microsoft. 著作權所有,並保留一切權利。