只能在工作时间内更新某表

例如规定只能在工作时间内更新Student表,可以定义如下触发器,其中sysdate为系统当前时间

CREATE OR REPLACE TRIGGER secure_student
   BEFORE INSERT OR UPDATE OR DELETE
   ON student
BEGIN
   IF    (TO_CHAR (SYSDATE, 'DY') IN ('SAT', 'SUN'))
      OR (TO_NUMBER (SYSDATE, 'HH24') NOT BETWEEN 8 AND 17)
   THEN
      raise_application_error
                    (-20506,
                     'You may only change data during normal business hours.'
                    );
   END IF;
END;

posted @ 2019-03-10 14:30  子鱼猴  阅读(378)  评论(0编辑  收藏  举报