• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:動的にSQLを作成し、値を取得する方法について)

動的にSQLを作成し、値を取得する方法について

このQ&Aのポイント
  • Pro*Cでテーブル名を動的に与え、カラムの1つであるシーケンス番号の最大値を取得する方法について述べています。
  • 実行するSQL文の中には「%s」を含んでおり、sprintfの第3引数でテーブル名を渡しているので、buf1の中身はそのままSQL*PLUSで実行できる内容となっています。
  • 取得したいデータを直接SQL*PLUSで実行すると0ではない値となるのですが、どのようにすれば値が取得できるかについて質問しています。

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

  • ベストアンサー
  • muyoshid
  • ベストアンサー率72% (230/318)
回答No.1

こんにちわ。 Pro*C のマニュアルをちょっと見てみました。 Pro*C で問い合わせの動的SQL を実行するのであれば、 カーソルを使って、OPEN, FETCH, CLOSE するのが正解のようです。 PL/SQL であれば、 Execute Immediate SQL文 INTO .... USING .... という方法もあるようです。 バージョンが不明ですが、どちらも使用できると思います。

utf7
質問者

お礼

ご回答ありがとうございます。 必ず1件取得のためFETCHは必要ないかなと思っていましたが、こちらでもPro*Cのマニュアルを見ながら作成したところ、うまく取得することが出来ました。 アドバイスどうもありがとうございました。

関連するQ&A