所以我已经完成了编写一个触发器的任务,该触发器应该在两列之间交换数据 - LAST_NAME和EMAIL在更新了SALARY列的记录中。这就是我想出来的
render "form"
当我尝试执行此操作时:
CREATE OR REPLACE TRIGGER SWAP
FOR UPDATE OF SALARY ON MY_EMP
COMPOUND TRIGGER
AFTER EACH ROW IS
BEGIN
UPDATE MY_EMP SET LAST_NAME = EMAIL, EMAIL = LAST_NAME WHERE :OLD.SALARY <> :NEW.SALARY;
END AFTER EACH ROW;
END SWAP;
我收到错误报告:
UPDATE MY_EMP
SET SALARY = SALARY + 100
WHERE EMPLOYEE_ID = 198;
我在这里做错了什么?任何解决方案?
答案 0 :(得分:0)
在更新之前进行此操作,而不是修改基础表,修改表的新值。
这将允许您在DML提交之前更新这些。