【发布时间】:2018-04-09 01:08:10
【问题描述】:
我正在尝试为before insert 编写触发器以验证案例日期。
案件日期应在当前日期之前的 5 年和之后的 7 年之间。
例如,2018 年的案例日期应为 2013 年至 2025 年。如果日期超出范围,则触发器应停止插入数据。
CREATE OR REPLACE TRIGGER ch
BEFORE INSERT
on CASE
FOR EACH ROW
DECLARE
CASN number;
BEGIN
SELECT COUNT(*)
INTO CASN
FROM CASE
WHERE :new.STARTDATE > SYSDATE;
IF (CASN > 0) THEN
RAISE_APPLICATION_ERROR(-20000,'Start DATE CANNOT Be GREATER than today's
date');
END IF;
END;
这里STARTDATE 是CASE 表的列
此触发器在开始日期大于今天的日期时启动,但我需要它在超出上述范围时运行。
如何在 sysdate 中添加一个指定的时间间隔,使其适用于上述情况?
【问题讨论】: