Inserting multiple rows using the blocked INSERT statement

Using a blocked INSERT statement, you can insert multiple rows into a table with a single INSERT statement.

The blocked INSERT statement is supported in all of the languages except REXX. The data inserted into the table must be in a host structure array. If indicator variables are used with a blocked INSERT, they must also be in a host structure array.

For example, to add ten employees to the CORPDATA.EMPLOYEE table:

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

DSTRUCT is a host structure array with five elements that is declared in the program. The five elements correspond to EMPNO, FIRSTNME, MIDINIT, LASTNAME, and WORKDEPT. DSTRUCT has a dimension of at least ten to accommodate inserting ten rows. ISTRUCT is a host structure array that is declared in the program. ISTRUCT has a dimension of at least ten small integer fields for the indicators.

Blocked INSERT statements are supported for non-distributed SQL applications and for distributed applications where both the application server and the application requester are IBM® i products.