- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:動的にSQLを作成し、値を取得する方法について)
動的にSQLを作成し、値を取得する方法について
このQ&Aのポイント
- Pro*Cでテーブル名を動的に与え、カラムの1つであるシーケンス番号の最大値を取得する方法について述べています。
- 実行するSQL文の中には「%s」を含んでおり、sprintfの第3引数でテーブル名を渡しているので、buf1の中身はそのままSQL*PLUSで実行できる内容となっています。
- 取得したいデータを直接SQL*PLUSで実行すると0ではない値となるのですが、どのようにすれば値が取得できるかについて質問しています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちわ。 Pro*C のマニュアルをちょっと見てみました。 Pro*C で問い合わせの動的SQL を実行するのであれば、 カーソルを使って、OPEN, FETCH, CLOSE するのが正解のようです。 PL/SQL であれば、 Execute Immediate SQL文 INTO .... USING .... という方法もあるようです。 バージョンが不明ですが、どちらも使用できると思います。
お礼
ご回答ありがとうございます。 必ず1件取得のためFETCHは必要ないかなと思っていましたが、こちらでもPro*Cのマニュアルを見ながら作成したところ、うまく取得することが出来ました。 アドバイスどうもありがとうございました。