ホームページ >データベース >mysql チュートリアル >カーソルを使用して SQL Server クエリ結果を反復処理する方法

カーソルを使用して SQL Server クエリ結果を反復処理する方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-27 17:37:10608ブラウズ

How to Iterate Through SQL Server Query Results Using Cursors?

SQL Server でのクエリ結果のループ

SQL Server は、クエリ結果をループして特定の操作を実行する強力な機能を提供します。 T-SQL とカーソルを使用してレコードセットを反復処理する方法は次のとおりです:

DECLARE @MyCursor CURSOR;
DECLARE @MyField YourFieldDataType;
BEGIN
    SET @MyCursor = CURSOR FOR
    SELECT TOP 1000 YourField 
    FROM dbo.table 
    WHERE StatusID = 7

    OPEN @MyCursor;
    FETCH NEXT FROM @MyCursor 
    INTO @MyField;

    WHILE @@FETCH_STATUS = 0
    BEGIN
        /* YOUR ALGORITHM GOES HERE */
        FETCH NEXT FROM @MyCursor 
        INTO @MyField;
    END;

    CLOSE @MyCursor;
    DEALLOCATE @MyCursor;
END;

この例では:

  • @MyCursor はカーソル オブジェクトを宣言します。クエリ結果を走査するために使用されます。
  • @MyField は、現在のレコードの特定のフィールド値を格納する変数を宣言します。
  • OPEN @MyCursor カーソルを開きます。
  • FETCH NEXT... INTO 現在のレコードの特定のフィールド値を @MyField 変数に取得します。
  • WHILE @@FETCH_STATUS = 0 処理するレコードがある限り継続するループを作成します。
  • CLOSE @MyCursorDEALLOCATE @MyCursor は、トラバースの完了後にカーソルを閉じて解放します。
  • WHILE ループでは、レコードの更新、削除、印刷などの任意の処理を実行できます。

以上がカーソルを使用して SQL Server クエリ結果を反復処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。