ブロック化 INSERT ステートメントを使用した複数の行の挿入

ブロック化 INSERT ステートメントを使用すると、1 つの INSERT ステートメントで複数の行を表に挿入することができます。

このブロック化 INSERT ステートメントは、REXX を除くすべての言語でサポートされています。 表に挿入されるデータは、ホスト構造配列になっていなければなりません。 ブロック化 INSERT で標識変数を使用する場合は、その標識変数もホスト構造配列になっていなければなりません。

例えば、10 人の社員を CORPDATA.EMPLOYEE 表に追加する場合は、次のようになります。

 INSERT INTO CORPDATA.EMPLOYEE
                    (EMPNO,FIRSTNME,MIDINIT,LASTNAME,WORKDEPT)
              10 ROWS VALUES(:DSTRUCT:ISTRUCT)

DSTRUCT は、プログラムで宣言された、5 つの要素を持つホスト構造配列です。この 5 つの要素は、EMPNO、FIRSTNME、MIDINIT、LASTNAME、および WORKDEPT に対応しています。 DSTRUCT は、10 行の挿入を受け入れるために、少なくとも 10 のディメンションを持ちます。ISTRUCT は、プログラムで宣言されたホスト構造配列です。ISTRUCT は、少なくとも標識用の短い整数フィールド 10 個分のディメンションを持ちます。

ブロック化 INSERT ステートメントは、非分散 SQL アプリケーション、およびアプリケーション・サーバーとアプリケーション・リクエスターの両方が IBM® i プロダクトである分散アプリケーションでサポートされます。