2つの表を比較して存在しない行をINSERTする
文書番号:20345
2つの表「テーブルA」と「テーブルB」を比較し、「テーブルA」に存在しない行を「テーブルB」からINSERTするSQLです。
【SQL】
insert into テーブルA
select *
from テーブルB TAB_B
where not exists(
select 'X'
from テーブルA TAB_A
where TAB_A.キー = TAB_B.キー
)
【サンプル】
「CODE」項目で比較し、「商品マスタ」に存在しないデータを「購入リスト」からINSERTします。
商品マスタ
|
購入リスト
|
→ |
商品マスタ
|
insert into 商品マスタ
select *
from 購入リスト TAB_B
where not exists(
select 'X'
from 商品マスタ TAB_A
where TAB_A.CODE = TAB_B.CODE
)
【参考情報】
Oracle Database で同様のことをする場合
・2つの表を比較して存在しない行をINSERTする
・2つの表を比較して存在しない行をINSERTする