所以我正在尝试创建一个更改记录时间戳的触发器,到目前为止我有这个
create or replace TRIGGER job_date_set
AFTER INSERT OR UPDATE OF start_date, closing_date ON jobs
FOR EACH ROW
BEGIN
IF UPDATING THEN
CASE
WHEN :OLD.closing_date != :NEW.closing_date THEN
UPDATE jobs
SET closing_date = to_date(to_date(:NEW.closing_date,'DD/MON/YYYY')||' 23:59:59','DD/MON/YYYY HH24:MI:SS')
WHERE :OLD.job_id = job_id;
WHEN :OLD.start_date != :NEW.start_date THEN
UPDATE jobs
SET start_date = to_date(to_date(:NEW.start_date,'DD/MON/YYYY') ||' 00:00:00','DD/MON/YYYY HH24:MI:SS')
WHERE :OLD.job_id = job_id;
END CASE;
END IF;
IF INSERTING THEN
UPDATE jobs
SET closing_date = to_date(to_date(:NEW.closing_date,'DD/MON/YYYY') ||' 23:59:59','DD/MON/YYYY HH24:MI:SS')
SET start_date = to_date(to_date(:NEW.start_date,'DD/MON/YYYY')||' 00:00:00','DD/MON/YYYY HH24:MI:SS')
WHERE :OLD.job_id = job_id;
END IF;
END;
以下是错误的描述: 编译失败,第 17 行 (16:54:27) 与编译错误相关的行号与第一个 BEGIN 语句相关。这只会影响数据库触发器的编译。PL/SQL:ORA-00933:SQL 命令未正确结束编译失败,第 15 行 (16:54:27) 与编译错误相关的行号与第一个 BEGIN 语句相关。这只会影响数据库触发器的编译。PL/SQL:忽略 SQL 语句
听起来,它认为我的 if 语句没有正确关闭,但我不知道我哪里出错了