ホスト変数配列
ホスト変数配列で、Db2とアプリケーションの間でデータ配列を受け渡すことができます。 ホスト変数配列 は、 SQL ステートメントに使用されるホスト言語で宣言されるデータ配列です。
ホスト変数配列は、以下のアクションに利用できます。
- アプリケーションで使用するために、データをホスト変数配列に取得します。
- データをホスト変数配列に配置して、表に行を挿入します。
- マージ操作のソースデータを取得します。
ホスト変数配列は、以下のコンテキストでは単純な参照としてのみ参照できます。 構文図では、ホスト変数配列 は、ホスト変数配列への参照を指定します。
- 複数行のフェッチのための FETCH ステートメント内。 FETCH文を参照。
- INSERT文のFOR n ROWS 形式で、ソースデータにホスト変数配列を使用します。 INSERT文を参照してください。
- ソース・データの行が複数ある MERGE ステートメント内。 MERGE文を参照してください。
- EXECUTE文で、INSERT文またはMERGE文の動的 FOR n ROWS形式のパラメータマーカーに値を指定する。 EXECUTE文を参照。
サポートされていない他のコンテキストでアプリケーションがホスト変数配列を参照した場合、 Db2 は SQLCODE -312 エラーを返します。
ホスト変数配列は、以下のトピックで説明するように、ホスト言語のステートメントによって定義されます。
ヒント: ホスト変数配列は、アセンブラ、FORTRAN、またはREXXプログラムではサポートされていません。 ただし、SQL 記述子域 (SQLDA) を使用すると、任意のホスト言語で同様の結果を得ることができます。 詳細は、「SQL 記述領域の定義(SQLDA )」を参照してください。
例
以下のステートメントは、主ホスト変数配列 COL1 および対応標識配列 COL1IND を使用します。 COL1 には 10 個の要素があると仮定します。 配列内の最初の要素は最初の値に対応し、以降も同様です。 COL1IND には最低 10 個のエントリーが必要です。
EXEC SQL
SQL FETCH FIRST ROWSET FROM C1 FOR 5 ROWS
INTO :COL1 :COL1IND
END-EXEC.