>>--EXEC SQL--.-------------------.---------->
+-FOR :host_integer-+
>---.------------.--INSERT--.------.---.-table_name-.--->
+-AT db_name-+ +-INTO-+ +-view_name--+
+-------- , ------+
V |
>---.---------------.--VALUES (constant_expression)----->
+-(column_list)-+
>------END-EXEC---><
| :host_integer | 処理するホスト配列要素の最大数。 PIC S9(4) COMP-5 で宣言する必要があります。 |
| db_name | DECLARE DATABASE を使用して宣言されているデータベースの名前。 |
| table_name | 行を挿入するテーブル。 |
| view_name | 行を挿入するビュー。 |
| INTO | 省略可能なキーワードです。 ANSI SQL 92 に準拠する場合には必要です。 |
| column_list | データを追加する 1 つ以上の列のリスト。 列の順序は任意ですが、入力データは列と同じ順序にする必要があります。 列リストが必要なのは、テーブルにある一部の列 (すべての列ではなく) がデータを受け取る場合のみです。 列リストの項目はかっこで囲みます。 列リストを指定しない場合は、受け取るテーブルにあるすべての列 (CREATE TABLE の順序で) を受け取るものとみなされます。
列リストによって、値を入力する順序が決定されます。 |
| VALUES | 定数式のリストを導入します。 |
| constant_expression | 指定された列の定数または NULL 値。 値リストはかっこで囲み、明示的または黙示的な列りストと一致している必要があります。 数値以外の定数は一重引用符または二重引用符で囲みます。 |
INSERT 文は直接 ODBC ドライバに渡されます。 正確な構文については、ODBC ドライバに付属しているマニュアルを参照してください。
WHERE 句のホスト変数が配列の場合は、INSERT 文が各配列要素のセットに対して 1 回ずつ実行されます。
INSERT 文により、新しい行がテーブルに追加されます。既存の行の列値を変更するには、UPDATE 文を使用します。
列が NULL 値を許可するように定義されている場合、列リストと VALUES リストの項目を省略できます。
1 つの文の中で、テーブルから行を選択して、その行を同じテーブルに挿入できます。
DISPLAY "Enter new staff member's id:"
ACCEPT staff-id
DISPLAY "Enter new staff member's last name:"
ACCEPT last-name
DISPLAY "Enter new staff member's first name:"
ACCEPT first-name
DISPLAY "Enter new staff member's age:"
ACCEPT age
DISPLAY "Enter new staff member's employment date(yyyy/mm/dd):"
ACCEPT employment-date
EXEC SQL
INSERT INTO staff
(staff_id
,last_name
,first_name
,age
,employment_date)
VALUES
(:staff-id
,:last-name
,:first-name
,:age
,:employment-date)
END-EXEC