【发布时间】:2017-06-28 11:57:08
【问题描述】:
merge into bonuses
using( select * from bonuses)s ON s.employee_id = '111'
WHEN MATCHED THEN update set bonus='555'
WHEN NOT MATCHED THEN insert insert into BONUSES (employee_id) values(115)
Table 的插入查询是
insert into BONUSES (employee_id) values(111)
insert into BONUSES (employee_id) values(112)
insert into BONUSES (employee_id) values(113)
insert into BONUSES (employee_id) values(114)
insert into BONUSES (employee_id) values(115)
如果employee_id=111 已经存在,它应该更新else 它应该插入。 如果有人知道,请提供帮助
【问题讨论】:
-
这里的业务逻辑是什么?这没有意义。
-
如果员工 111 的奖金记录不存在,您将为员工 115 添加奖金记录吗?奇怪的。如果这是正确的,那么您在公司中有一个有趣的奖金制度..
-
这只是一个示例,如果此合并查询有效,我将实施其他工作。请帮助我在技术上不要在这里寻找业务逻辑..
-
如果您不提供我们可以理解和推理的要求,我们很难为您提供帮助。我已经修复了您的语法错误并向您展示了如何使用 MERGE。那你还想知道什么?