0
CREATE OR REPLACE TRIGGER Guest_Change_In_WorkingHour
BEFORE INSERT OR UPDATE OR DELETE ON guest
BEGIN
IF TO_NUMBER(TO_CHAR(SYSDATE,'hh24')) < 8 -- cant do anything before 8:00am
OR TO_NUMBER(TO_CHAR(SYSDATE,'hh24')) >= 5
-- changes must be made BEFORE 5:00pm
OR TO_CHAR(SYSDATE,'dy') in ('sun','sat') THEN -- nothing on weekends
RAISE_APPLICATION_ERROR (-20000, 'Satff changes only allowed during business hours.');
END IF;
END;
/
此工作时间(上午8点至下午5点)的触发器可以执行插入,删除和更新数据。 对于我的问题是,当时间是4.00AM仍然可以插入,删除和更新数据。 我发现这个触发器忽略AM和PM。 如何解决?Oracle SQL(触发器)
我尝试它b4,改为17但问题仍然存在。 这一天无法匹配.. – 2012-07-19 16:26:54
@LONGKIT - 我测试过了,用'17',这个触发器做了你想要的;你改变了别的吗?如果再次尝试它,现在只需要更改为'17',会发生什么情况? – 2012-07-19 16:34:19
我改为17,然后我也将我的电脑时间更改为4.00Am,但仍可以更新记录。 – 2012-07-19 16:40:47