>>---EXEC SQL--.-------------------.---.------------.---->
               +-FOR :host_integer-+   +-AT db_name-+
                                        +- ,-+
                                        V    |
 >----SELECT----.-------------.---INTO--:hvar------------->
                +-select_list-+
 >----select_options----END-EXEC---><
 
| :host_integer | 処理されるホスト配列要素の最大数を指定するホスト変数。 PIC S9(4) COMP-5 で宣言する必要があります。 | 
| db_name | DECLARE DATABASE を使用して宣言されているデータベースの名前。 | 
| select_list | データを検索するテーブル部分。 | 
| :hvar | select_list 項目を受け取る 1 つ以上のホスト変数。 | 
| select_options | SQL SELECT 文で使用できる 1 つ以上の文またはその他のオプション (FROM 句または WHERE 句など)。 | 
シングルトン SELECT には FROM 句を含める必要があります。
SELECT INTO 文により、結果の 1 行が検索され、select_list の項目の値が INTO リストで指定されたホスト変数に割り当てられます。 受け取るホスト変数の数よりも多くの列を選択した場合、sqlwarn3 の値が「W」に設定されます。 ホスト変数のデータ型と長さは、それに割り当てられた値と互換する必要があります。 データが切り捨てられた場合、sqlwarn1 の値は「W」に設定されます。
SELECT INTO 文がデータベースから複数の行を返す場合、最初の行以外のすべての行が廃棄され、sqlwarn4 が「W」に設定されます。 最初の行以降の行も返す場合には、カーソルを使用します。 または、INTO 句で配列項目を指定します。 配列には、配列の最大サイズ、host_integer の値、または、返される行数の中で、最も小さい値まで設定されます。
ANSI92ENTRY が設定され、シングルトン SELECT により複数の行が検索される場合は、SQLCODE が -811、SQLSTATE が 21000 および SQLWARN4 が W になります。ANSI92ENTRY が設定されていない場合は、エラー条件または警告条件は設定されません。
注: INTO 句のホスト変数のいずれか 1 つが配列の場合には、ホスト変数をすべて配列にする必要があります。
  ...
     MOVE 99 TO staff-id
     EXEC SQL
        SELECT last_name
           INTO :lname
           FROM staff
           WHERE staff_id=:staff-id
     END-EXEC
     EXEC SQL
        SELECT staff_id
           INTO :staff-id
           FROM staff
           WHERE first_name = 'Phil'
     END-EXEC