|
スポンサード リンク
データがあればUPDATE、なければINSERTするにはMERGE文を使用する
MERGE INTO テーブル1
USING テーブル2|副問合せ
ON (結合条件)
WHEN MATCHED THEN
update 文
WHEN NOT MATCHED THEN
insert 文 |
結合条件に一致すれば、テーブル1をupdateする。一致しなければテーブル1にinsertする。update/insertするデータは、テーブル2(副問合せ)のデータを使用できる。 |
例1) 表「emp01」の列「emp_id」と表「emp02」の列「emp_id」が一致すれば、emp01へupdateする。一致しなければ、insertする。
|
merge into emp01 t
using emp02 f
on ( t.emp_id = f.emp_id )
when matched then
update set
t.dept_id = f.dept_id,
t.job_id = f.job_id,
t.first_name = f.first_name,
t.last_name = f.last_name,
t.salary = f.salary
when not matched then
insert (
emp_id,
dept_id,
job_id,
first_name,
last_name,
salary)
values (
f.emp_id,
f.dept_id,
f.job_id,
f.first_name,
f.last_name,
f.salary)
|
スポンサード リンク
|