テーブルに新しい行を追加します。
Synopsis
INSERT restriction INTO table
     [(column-commalist)] query |
          [(column-commalist)] VALUES 
               (scalar-expression-commalist) |
          [(column-commalist)] VALUES host-variable |
          SET column = scalar-expression 
               {,column = scalar-expression}
引数
restriction  オプション — キーワード %NOLOCK、%NOCHECK、%NOINDEX、%NOTRIGGER のうち 1 つ、またはこれらキーワードのコンマで区切られたリスト 
table  挿入を実行するテーブル名あるいはビュー名 
column-commalist  列のリスト。 コンマで区切ります。 
query  データとして提供されているクエリの結果セット 
scalar-expression-commalist  スカラ式のリスト。 コンマで区切ります。 
host-variable  ホスト変数 (以下参照) 
column  値が設定されている行 
scalar-expression  行の値のソースとして提供されているスカラ関数 
概要
INSERT 文は、テーブルに新しい行を追加します。テーブルに直接挿入、またはビュー経由で挿入できます。ビュー経由で挿入する場合は、CREATE VIEW で説明されているように、必要条件や制限事項に従います。
restriction 引数を指定すると、以下の通り処理を制限します。
列のリストを省略すると、INSERT は、すべての列が列番号順で挿入されるものと判断します。列のリストを指定すると、個々の値は、列のリスト内の列の名前と位置的に一致する必要があります。
SELECT 文が入力としての機能を果たす場合は、複数の行が検索される SELECT 文を基に、複数の行の挿入が可能になります。
INSERT は全か無かのイベントです。列が完全に挿入されるか、またはまったく挿入されないかのどちらかとなります。列が完全に挿入されるか、またはまったく挿入されないかのどちらかとなります。Caché は、SQLCODE ステータス変数を返し、INSERT の成功もしくは失敗を示します。また、INSERT オペレーションは %ROWCOUNT 変数を、影響を受けた行の番号に設定します。
ホスト変数構文では、INSERT に値の配列を渡すために、最後の添え字が未定義の変数参照を使用することができます。 例えば以下のようになります。
&sql(INSERT INTO Employee
VALUES :emp("profile",))
これは、挿入された "Employee" 行の各フィールドを以下のように設定します。
emp("profile",col)
ここでの "col" は "Employee" テーブル内のフィールド列番号です。
以下の例は、選択クエリの結果を INSERT 文内へのデータ入力として使用する際の機能性を示しています。
INSERT INTO StudentRoster (NAME,GPA,ID_NUM)
     SELECT FullName,GradeAvg,ID
     FROM temp WHERE SchoolYear = '1990'
関連項目
ALTER TABLE CREATE TABLE DROP TABLE JOIN SELECT テーブル UPDATE VALUES