无法修复错误:PL / SQL语句被忽略

时间:2017-04-19 11:24:16

标签: sql oracle

我刚刚开始使用触发器。在尝试编译下一个代码片段时,错误列在日志中,如下所示:“错误(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;  

2 个答案:

答案 0 :(得分:0)

  

查看此this-oraclethis-stackoverflow

试试这个:

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,因为我没有看到它的用处)