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