有人可以帮我这个sql语句在Oracle上运行吗?我是Oracle的新手。我尝试了不同的方法,但得到语法错误。使用此语句,我得到Missing SET keyworkd
错误,如果我删除了员工,则会为emp_id获取无效的列名。
update emp_bonus, employee
set emp_bonus.bonus = '555'
where emp_bonus.emp_id = employee.emp_id and emp_bonus.bonus_id = '101';
答案 0 :(得分:2)
是的,您有语法错误。 你喜欢做什么?
在这种情况下,查询将按如下方式构建:
UPDATE EMP_BONUS
SET EMP_BONUS.BONUS = '555'
WHERE EMP_BONUS.BONUS_ID = '101'
AND EXISTS (SELECT 'X'
FROM EMPLOYEE
WHERE EMP_BONUS.EMP_ID = EMPLOYEE.EMP_ID);
只有在BONUS
表格中ID
存在时才更新EMPLOYEE
字段。