【发布时间】:2020-07-13 19:13:25
【问题描述】:
我在第 5 行不断收到以下错误:
Error at line 5: PL/SQL: SQL Statement ignored
代码:
CREATE OR REPLACE TRIGGER trg_videorental_up
AFTER UPDATE OF DETAIL_RETURNDATE ON DETAILRENTAL
FOR EACH ROW
BEGIN
IF :NEW.DETAIL_RETURNDATE IS NULL THEN UPDATE VIDEO SET VID_STATUS = 'OUT' WHERE VIDEO.VID_NUM = :NEW.VID_NUM;
ELSIF :NEW.DETAIL_RETURNDATE > SYSDATE THEN UPDATE VIDEO SET VID_STATUS = 'OUT' WHERE VIDEO.VID_NUM = :NEW.VID_NUM;
ELSIF:NEW.DETAIL_RETURNDATE ='01/01/01' THEN UPDATE VIDEO SET VID_STATUS= 'LOST' WHERE VIDEO.VID_NUM = :NEW.VID_NUM;
ELSIF :NEW.DETAIL_RETURNDATE <= SYSDATE THEN UPDATE VIDEO SET VID_STATUS = 'IN' WHERE VIDEO.VID_NUM= :NEW.VID_NUM;
END IF;
END;
【问题讨论】:
-
好吧,您在一个冒号之前缺少一个空格...(另外
'01/01/01'不是日期;这不会导致错误,但不要依赖隐式转换, 或使用 2 位数的年份。) -
实际上,您在doesn't throw that exception 上发布的内容。也许是你的称呼?
-
这不是查询,也不是 SQL。 PL/SQL 是一种编程语言。
标签: oracle plsql oracle11g database-trigger