0
グレードが150を超えるレコードを削除するクエリを1つ作成します。レコードが存在する場合はグレードを更新し、内部に25を追加します。マージ時に一致する句が2つあります
merge into employeegrades eg
using (select id, name from temp_emp) emp
on (eg.id = emp.id)
when matched and eg.grades > 150 then
delete
when matched
update set eg.grades = eg.grades+25
when not matched then
insert (id,grades)
values (emp.id, 25);
と何が間違っている:レコードがこの正常に動作している25
Merge into employeegrades empg
using (select id, name from temp_emp) e
on (empg.id= e.id)
when matched then
update set empg.grades = empg.grades + 25
delete where empg.grades > 150
when not matched then insert (id,grades) values (e.id, 25);
としてグレードに存在しませんが、私は以下のようにステートメントを変更する場合、それが動作しない場合は、レコードを挿入します上記のクエリ?マージで2つの条件を一致させることはできませんか?