• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:カーソル宣言をIFで分けられませんか?)

カーソル宣言をIFで分けられませんか?

このQ&Aのポイント
  • Pro*Cでカーソルの宣言をIF文で分けようとすると、SQLの識別子を再定義しようとしましたというエラーメッセージが表示されます。
  • カーソルが取得するレイアウトが同一であり、OPEN後の処理も同じである場合、同一のカーソル名で実行したいです。
  • Oracle10.2を使用しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • matui2000
  • ベストアンサー率19% (30/155)
回答No.1

すみません。最近カーソル処理を書いてないんですが自分が思うにカーソル処理で帰ってくる行数は1行になるようSELECT文を書かなくてはいけなかった気がしますが。

xyzelixir
質問者

お礼

早速のご回答ありがとうございます。 よろしくお願いします。 恐らくINTOで指定する変数のことだと思います。 カーソルで抽出の定義をして(このときは複数行)、FETCHのところでそこから1行抽出し、INTOで指定した変数に値を入れます。 このとき、INTOで指定した変数には1行しか入りません。 なので、ほとんどの場合はFORやWHILEでループをして、毎行FETCHすることになります。

xyzelixir
質問者

補足

自己解決しました。 EXEC SQL PREPARE文を使えば良いようです。 ありがとうございました。

関連するQ&A