oracle触发器


类型:两种
行级触发器 for each row
表级触发器 

作用于

insert 

delete
update

操作前后

表级触发器:

CREATE OR REPLACE TRIGGER tg_test
AFTER INSERT
ON t_student
BEGIN
  dbms_output.put_line('插入了一条数据 !');
END;


行触发器:

CREATE OR REPLACE TRIGGER tg_test_row
AFTER UPDATE
ON t_student
for each row
BEGIN
  dbms_output.put_line('插入了一条数据 !');
END;

利用触发器实现只能在工作时间操作表的功能:

CREATE OR REPLACE TRIGGER checkforinsert
BEFORE INSERT 
ON t_student

BEGIN
  IF NOT (to_char(sysdate, 'day') not in ('星期六','星期日') AND to_char(SYSDATE, 'hh24') between 10 and 17) THEN
    raise_application_error(-20001, '非工作时间不能添加数据 !');
  END IF
END;

 

posted @ 2017-06-14 14:15  暗杠小发  阅读(172)  评论(0编辑  收藏  举报