-- 创建触发器
create or replace trigger tr_emp_update
-- 在做update,delete,或insert操作之前触发
before update or delete or insert on scott.emp
-- 缺少 for each row,为表级触发器
begin
-- 触发动作,如果周六日,或不在到八点半到晚六点之间,禁止修改表emp
if (to_char(sysdate, 'DAY') IN ('星期六', '星期日')) or
(to_char(sysdate, 'hh24:mi') not between '08:30' and '18:00') then
raise_application_error(-20001, '不是上班时间,不能修改emp表');
end if;
end;
/
测试
</pre><pre name="code" class="sql">select sysdate from dual;
2016/4/9 20:30:13
update emp
set comm = comm + 20;