oracle在update、delete和insert中的拆分merge语句

xmq68pz9  于 2021-06-26  发布在  Hive
关注(0)|答案(0)|浏览(409)

我正在尝试将sql上的一个从oracle迁移到hive。为了在配置单元上工作,我必须将merge语句分解为update/delete和insert。
请帮我解决这个问题。我有我的分裂版本,但我不确定。
注意:由于其他原因,我没有使用配置单元合并。
合并语句:

MERGE INTO bonuses D
 USING (SELECT employee_id, salary, department_id FROM employees
 WHERE department_id = 80) S
 ON (D.employee_id = S.employee_id)
 WHEN MATCHED THEN UPDATE SET D.bonus = D.bonus + S.salary*.01  WHERE (S.salary > 8000)
   DELETE WHERE (S.salary >= 10000)
 WHEN NOT MATCHED THEN INSERT (D.employee_id, D.bonus)
   VALUES (S.employee_id, S.salary*.01)
   WHERE (S.salary <= 8000);

表DDL:

CREATE TABLE bonuses (employee_id NUMBER, bonus NUMBER DEFAULT 100);
CREATE TABLE employees ( employee_id NUMBER, salary NUMBER, department_id int);

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题