プライマリ・コンテンツに移動
Pro*C/C++プログラマーズ・ガイド
12c リリース1(12.1)
B71397-03
目次へ移動
目次
索引へ移動
索引

前
次

基本手順

方法4は任意の動的SQL文に使用できます。次の例には問合せの処理が示されているため、入力ホスト変数と出力ホスト変数の両方の処理方法が理解できます。

このサンプル・プログラムでは次の手順に従って動的問合せを処理します。

  1. 問合せのテキストを保持するためのホスト文字列を宣言部で宣言します。
  2. 選択SQLDAとバインドSQLDAを宣言します。
  3. 選択記述子とバインド記述子に対する記憶域を割り当てます。
  4. DESCRIBEできる選択リスト項目とプレースホルダの最大数を設定します。
  5. 問合せのテキストをホスト文字列に設定します。
  6. ホスト文字列から問合せをPREPAREします。
  7. 問合せ用のカーソルをDECLAREします。
  8. バインド記述子にバインド変数をDESCRIBEします。
  9. プレースホルダの最大数をDESCRIBEによって実際に検出された数に再設定します。
  10. DESCRIBEで検出されたバインド変数の値を取得し、それらの変数に対する記憶域を割り当てます。
  11. バインド記述子を使用してカーソルをOPENします。
  12. 選択記述子に選択リストをDESCRIBEします。
  13. 選択リスト項目の最大数をDESCRIBEにより実際に検出された数に再設定します。
  14. 表示用にそれぞれの選択リスト項目の長さおよびデータ型を再設定します。
  15. 選択記述子が指している割当て済のデータ・バッファに(INTO)データベースの行をFETCHします。
  16. FETCHにより戻された選択リストの値を処理します。
  17. 選択リスト項目、プレースホルダ、標識変数および記述子に対する記憶域の割当てを解除します。
  18. カーソルをCLOSEします。

注意:

動的SQL文に含まれる選択リスト項目またはプレースホルダの数が明確である場合、一部の手順は必要ありません。