VALUES ( 値 {, 値 }* ) [ , ( 値 {, 値 }* ) ]* | VALUES 値 [ , 値 ]* }
値は以下のように定義されます。
式 | DEFAULT
最初の書き方では複数列の行が構築され、二つ目の書き方では単列の行が、個々の式を行の列値として、構築されます。
VALUES式がINSERT文にある場合のみ、DEFAULTというキーワードを使うことができます。 列にDEFAULTを指定すると、その列には列の既定値が挿入されます。 もう一つ列に既定値を挿入する方法があり、それはINSERT文にて一覧からその列を除いて、表の他の列の値のみ明示的に挿入することです。
-- 1列3行 VALUES (1),(2),(3) -- 1列3行 VALUES 1, 2, 3 -- 3列1行 VALUES (1, 2, 3) -- 2列3行 VALUES (1,21),(2,22),(3,23) -- 表を導出して構築 VALUES ('orange', 'orange'), ('apple', 'red'), ('banana', 'yellow') -- 単文でDEPARTMENTという表に二つの新しい部署を挿入する。 -- ただし新しい部署に管理者は割り当てない。 INSERT INTO DEPARTMENT (DEPTNO, DEPTNAME, ADMRDEPT) VALUES ('B11', 'PURCHASING', 'B01'), ('E41', 'DATABASE ADMINISTRATION', 'E01') -- MAJPROJ列に既定値をあてて、行を挿入する。 INSERT INTO PROJECT (PROJNO, PROJNAME, DEPTNO, RESPEMP, PRSTDATE, MAJPROJ) VALUES ('PL2101', 'ENSURE COMPAT PLAN', 'B01', '000020', CURRENT_DATE, DEFAULT) -- 組込みの関数を使う VALUES CURRENT_DATE -- 任意の式の値をとる VALUES (3*29, 26.0E0/3) -- 組込みの関数の返す値をとる values char(1)