INSERT

テーブルに新しい行を追加します。

構文:

>>--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 または PIC S9(9) COMP-5 として宣言する必要があります。
AT db_name DECLARE DATABASE を使用して宣言されたデータベースの名前。この句は省略可能です。省略すると、現在の接続で挿入を実行します。この句を指定して、指定された接続が現在の接続と異なる場合は、DECLARE CURSOR 文に関連付けられた接続で挿入が実行されます。
table_name 行の挿入対象のテーブル。
view_name 行の挿入対象のビュー。
INTO オプションのキーワード。ANSI SQL 92 に準拠する場合は必要です。
column_list データの追加先の 1 つ以上の列のリスト。列の順序は任意ですが、入力データは列と同じ順序にする必要があります。列リストが必要なのは、テーブル内の (すべてではなく) 一部の列がデータを受け取る場合のみです。列リストの項目は、丸かっこで囲みます。列リストを指定しない場合は、受信側のテーブル内のすべての列を (CREATE TABLE の順序で) 受け取るものと見なされます。

値が入力される順番は、列リストによって決まります。

VALUES 定数式のリストを導入します。
constant_expression 指定された列の定数または NULL 値。値リストは丸かっこで囲み、明示的または黙示的な列リストと一致している必要があります。数値以外の定数は一重引用符または二重引用符で囲みます。

説明:

INSERT 文は直接、ODBC ドライバーに渡されます。構文の詳細については、使用している ODBC ドライバーに付属のドキュメントを参照してください。

WHERE 句のホスト変数が配列である場合は、INSERT 文が配列要素セットごとに 1 回ずつ実行されます。

UPDATE を使用して、既存の行内の列値を変更します。

列が NULL 値を許可するように定義されている場合、列リストおよび VALUES リストの項目を省略できます。

1 つの文の中で、テーブルから行を選択してその行を同じテーブルに挿入できます。

実行後は、処理された要素の数が SQLERRD(3) に含まれます。INSERT の場合、これは挿入された行の合計数です。

例:

     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