トップページに戻る    次のSQLパズルへ    前のSQLパズルへ

2-1-1 マルチテーブルインサート

SQLパズル

Table1のCol1,Col2に、以下の3レコードを追加する。
レコード1(1,2)
レコード2(3,4)
レコード3(5,6)


SQL

--■■■マルチテーブルインサートを使用する方法■■■
insert all
into Table1(Col1,Col2) values(1,2)
into Table1(Col1,Col2) values(3,4)
into Table1(Col1,Col2) values(5,6)
select 1 from dual;

--■■■マルチテーブルインサートを使用しない方法■■■
insert into Table1(Col1,Col2)
select 1,2 from dual
union all select 3,4 from dual
union all select 5,6 from dual;


解説

マルチテーブルインサートは、insert対象のテーブルが複数であっても、
1度のinsert文で、複数レコードを追加できます。

マルチテーブルインサートを使用しない場合は、insert対象のテーブルが一つであれば、
union allで和集合を作り、1度のinsert文で、複数レコードを追加できます。

8-52 ピボット選択インサート
10-265 差集合をマルチテーブルインサート
@IT SQLクリニック 1つのSQL文で複数の表にINSERTする絶品テクニック