ホスト配列はINSERT文内の入力変数として使用できます。プログラムでINSERT文を実行する前に、プログラム内にデータが含まれている配列があるかどうかを確認してください。
配列内に不適切な要素があるときは、FOR句を使用してINSERT対象の行数を制御できます。FOR句の使用方法も参照してください。
ホスト配列による挿入の例は次のとおりです。
char emp_name[50][20]; int emp_number[50]; float salary[50]; /* populate the host arrays */ ... EXEC SQL INSERT INTO EMP (ENAME, EMPNO, SAL) VALUES (:emp_name, :emp_number, :salary);
挿入された行の累積数は処理済行数sqlca.sqlerrd[2]
に保存されます。
次の例では、一度に1行ずつINSERTされます。各行の挿入ごとにサーバーをコールする必要があるため、この方法は前の例に比べるとかなり効率は悪くなります。
for (i = 0; i < array_size; i++) EXEC SQL INSERT INTO emp (ename, empno, sal) VALUES (:emp_name[i], :emp_number[i], :salary[i]);