我刚刚开始使用触发器。在尝试编译下一个代码片段时,错误列在日志中,如下所示:“错误(2,3):PL / SQL:忽略SQL语句”和“错误(2,7):PL / SQL:ORA-00922 :缺少或无效的选项“。 我不明白这个问题。有人可以帮忙吗?
CREATE OR REPLACE TRIGGER CONT_VIG
BEFORE INSERT ON CONTRACTS
FOR EACH ROW
WHEN (OLD.CLIENTID = NEW.CLIENTID AND OLD.ENDDATE > NEW.STARTDATE)
BEGIN
SET (OLD.enddate = :NEW.startdate-1);
END;
答案 0 :(得分:0)
CREATE TRIGGER hr.salary_check
BEFORE INSERT OR UPDATE OF salary, job_id ON hr.employees
FOR EACH ROW
WHEN (new.job_id <> 'AD_VP')
pl/sql_block
答案 1 :(得分:0)
您无法更改OLD值...
替换
SET (OLD.enddate = :NEW.startdate-1);
例如:
:NEW.startdate := sysdate ;
(我删除了SET,因为我没有看到它的用处)