配列とは、1 つの変数名に関連付けられた複数のデータ項目の集まりです。複数のホスト変数を配列 (ホスト配列) として定義すると、これらの変数を単一の SQL 文で処理できます。
ホスト配列は、INSERT 文、UPDATE 文、および DELETE 文の入力変数として使用したり、SELECT 文や FETCH 文の INTO 句で出力変数として使用したりできます。配列を SELECT 文、FETCH 文、DELETE 文、INSERT 文、および UPDATE 文で使用して、大量のデータを扱うことができます。
通常のホスト変数と同様に、ホスト配列はプログラムで宣言してから SQL 文でそれらを参照する必要があります。
ホスト配列は、通常のホスト変数とほぼ同様に BEGIN DECLARE SECTION と END DECLARE SECTION を使用して宣言します。ただし、配列の次元を OCCURS 句で指定する必要があります。
次の例は、典型的なホスト配列の宣言と参照を示しています。
 EXEC SQL
     BEGIN DECLARE SECTION
 END-EXEC
 01 AUTH-REC-TABLES
    05 Auth-id       OCCURS 25 TIMES PIC X(12).
    05 Auth-Lname    OCCURS 25 TIMES PIC X(40).
 EXEC SQL
    END DECLARE SECTION
 END-EXEC.
  . . .
     EXEC SQL
         CONNECT USERID 'user' IDENTIFIED BY 'pwd' 
                 USING 'db_alias'
     END-EXEC
     EXEC SQL
         SELECT au-id, au-lname
          INTO :Auth-id, :Auth-Lname FROM authors
     END-EXEC
     display sqlerrd(3)
		次の例は FOR 句を使用して、UPDATE 文によって変更された 10 行 (:maxitems の値) を示しています。
 EXEC SQL
     BEGIN DECLARE SECTION
 END-EXEC
 01 AUTH-REC-TABLES
    05 Auth-id       OCCURS 25 TIMES PIC X(12).
    05 Auth-Lname    OCCURS 25 TIMES PIC X(40).
 01 maxitems         PIC S9(4) COMP-5 VALUE 10.
 EXEC SQL
     END DECLARE SECTION
 END-EXEC.
   . . .
     EXEC SQL
         CONNECT USERID 'user' IDENTIFIED BY 'pwd' 
                 USING 'db_alias'
     END-EXEC
     EXEC SQL
         FOR :maxitems
          UPDATE   authors
           SET   au_lname = :Auth_Lname
           WHERE au_id  = :Auth_id
     END-EXEC
     display sqlerrd(3)