【SQL Server】カーソルは既に存在しますの対応

SQL Serverにてカーソルを使う処理を呼び出している画面で、

その処理を連続で実行すると、

 

カーソルXXXXは既に存在します。というエラーが出てしまう。

 

結論から言うと、

カーソルのスコ―プ範囲が上手く設定できていないためです。

同一名のカーソルが宣言されたままになっているということ。

 

その場合は、スコープ範囲をローカルに明記してあげることで対応が出来ます。

 

カーソル宣言部分にLOCALを追加。

DECLARE crTest CUSOR LOCAL FOR

SELECT * FROM TBL_TEST

 

以上で解決。

 

 

コメントを残す

サブコンテンツ

このページの先頭へ