首頁 >資料庫 >mysql教程 >如何使用遊標迭代 T-SQL 查詢結果?

如何使用遊標迭代 T-SQL 查詢結果?

Barbara Streisand
Barbara Streisand原創
2024-12-30 14:47:14996瀏覽

How to Iterate Through T-SQL Query Results Using Cursors?

在T-SQL 中循環查詢結果

循環查詢SELECT @id=table.id FROM table 的結果,您可以在T>循環查詢SELECT @id=table.id FROM table 的結果,您可以在T -SQL 中使用CURSOR。下面的程式碼片段示範如何實現此目的:

DECLARE @id INT;
DECLARE @name NVARCHAR(100);
DECLARE @getid CURSOR;

SET @getid = CURSOR FOR
SELECT
    table.id,
    table.name
FROM
    table;

OPEN @getid;
FETCH NEXT
FROM @getid
INTO @id, @name;
WHILE @@FETCH_STATUS = 0
BEGIN
    EXEC stored_proc @varName = @id, @otherVarName = 'test', @varForName = @name;
    FETCH NEXT
    FROM @getid
    INTO @id, @name;
END;

CLOSE @getid;
DEALLOCATE @getid;

在此腳本中:

  • 建立名為 @getid 的 CURSOR 來迭代查詢結果。
  • OPEN 語句執行查詢並將結果賦給遊標。
  • The FETCH NEXT 語句會擷取第一行結果並將值指派給變數 @id 和 @name。
  • WHILE 循環繼續從遊標中取得行,直到沒有更多行需要處理。
  • 對於每一行,EXEC 語句執行預存程序stored_proc,參數@varName、@otherVarName 和@varForName 設定為來自表。
  • 處理完所有行後,CLOSE 和 DEALLOCATE 語句關閉並從記憶體中刪除遊標。

以上是如何使用遊標迭代 T-SQL 查詢結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn