【发布时间】:2016-03-15 20:52:48
【问题描述】:
我需要编写一个触发器来阻止用户在周日进行预约。
在设置了约束来执行此操作后,我意识到我的课程要求使用我一直在努力工作的触发器来完成。
当前正在接受触发器,没有任何错误,但在输入数据时不执行任何操作。
CREATE OR REPLACE TRIGGER no_sunday_appointments
BEFORE INSERT OR UPDATE ON Appointment
FOR EACH ROW
DECLARE
AppointmentDate DATE;
BEGIN
IF (trim(TO_CHAR(AppointmentDate,'DAY')) = 'SUNDAY')
THEN RAISE_APPLICATION_ERROR(-20100,
'No Appointments Allowed On A Sunday');
END IF;
END;
我尝试了各种更改,例如不使用修剪或使用 not like 'SUNDAY%' 代替 = 无效,或者在修剪之前添加 :new. TO_CHAR 和 AppointmentDate。
【问题讨论】:
标签: sql database date database-trigger