関数

[SQLServer] フェッチした結果を取得する(@@FETCH_STATUS)

SQLServerでフェッチした結果を取得するには、@@FETCH_STATUSを使用します。

構文

(構文)
@@FETCH_STATUS

取得する型はint型です。


取得した結果値の意味は以下の通りです。

【@@FETCH_STATUSの戻り値の意味】
意味
0フェッチが正常に実行できた
-1フェッチに失敗した
-2フェッチする行が存在しない
-9フェッチ操作を実行しない

サンプル

例)@@FETCH_STATUSが0の間ループするサンプル

上記16行目のように判定すると、フェッチデータが存在する間ループするという処理ができます。

備考

  • @@FETCH_STATUSは、OPEN中のカーソルが最後にフェッチした状態を取得します
  • なので複数のカーソルをオープンしている時は、@@FETCH_STATUSの取得タイミングにご注意ください。
    (FETCHした直後に取得すのが安全です。)

-関数
-