INSERT

4D - Documentation   French   English   German   日本語   4D SQL Referenceコマンドテーマリスト   4D SQL Referenceインデックス   戻る   前   次

version 11.3 (Modified)


INSERT INTO {sql_name | sql_string}

[(column_reference, ..., column_reference)]

{VALUES({arithmetic_expression |NULL}, ..., {arithmetic_expression |NULL}) |subquery}

説明

INSERTコマンドは既存のテーブルにデータを追加するために使用します。データを追加するテーブルはsql_nameまたはsql_stringを使用して渡されます。オプションのcolumn_referenceは、値が挿入されるカラム名を指定します。column_referenceが渡されない場合、値はデータベース中の順番通りに格納されます (最初の値は一番目のカラムに、二番目の値は二番目のカラムに)。

VALUESキーワードは、指定したカラムに格納する値を渡すために使用します。arithmetic_expressionまたはNULLを渡すことができます。さらに値として渡す一連のデータを挿入するために、subqueryVALUESキーワード中に渡すこともできます。

VALUESキーワード中に渡す値の数はcolumn_referenceで渡した数と一致しなければならず、それぞれの値とカラムのデータタイプは一致しているか、少なくとも変換可能でなければなりません。

INSERTコマンドはシングルおよびマルチロークエリでサポートされています。しかしマルチローのINSERT文はUNIONおよびJOIN操作を許可しません。


例題

1. これはtable2のセレクションをtable1に挿入する例題です:


   INSERT INTO table1 (SELECT * FROM table2) 
 

2. この例題はテーブルを作成し、値を挿入します:


   CREATE TABLE ACTOR_FANS
      (ID INT32, Name VARCHAR);
   INSERT INTO ACTOR_FANS
      (ID, Name)
       VALUES (1, 'Francis’);

3. 複数行のシンタックスにより、うんざりするような行の繰り返しを避けることができます。

   INSERT INTO MyTable
      (Fld1,Fld2,BoolFld,DateFld,TimeFld, InfoFld)
      VALUES
         (1,1,1,'11/01/01','11:01:01',’First row’),
         (2,2,0,'12/01/02','12:02:02',’Second row’),
         (3,3,1,'13/01/03','13:03:03',’Third row’),
         ………
         (7,7,1,'17/01/07','17:07:07',’Seventh row’);

4. 複数行のシンタックスと一緒に、4Dの変数または配列を使用することもできます。

   INSERT INTO MyTable
      (Fld1,Fld2,BoolFld,DateFld,TimeFld, InfoFld)
      VALUES
         ( :vArrId, :vArrIdx, :vArrbool, :vArrdate, :vArrL, :vArrText);

Note: 同じINSERTステートメントでは、単純な変数と配列を組み合わせることはできません。

参照

arithmetic_expression, column_reference, DELETE, subquery.


4D - Documentation   French   English   German   日本語   4D SQL Referenceコマンドテーマリスト   4D SQL Referenceインデックス   戻る   前   次