ホスト配列は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]);