禁止在非工作时间插入新员工
1 --触发器应用场景1: 复杂的安全性检查
2 --禁止在非工作时间插入新员工
3 /*
4 1.周末:to_char(sysdate,'day') in('星期六','星期日')
5 2.上班前,下班后:to_number(to_char(sysdate,'hh24')) not between 9 and 18
6 */
7
8 create or replace trigger securityemp
9 before insert --插入前触发
10 on emp1
11 declare
12 begin
13
14 if to_char(sysdate,'day')in ('星期六','星期日') or
15 to_number(to_char(sysdate,'hh24')) not between 9 and 18 then
16 --禁止insert新员工
17 raise_application_error(-20001,'禁止在非工作时间插入新员工');
18 end if;
19 end;
20 /
测试:
1 insert into emp1(empno,ename,sal,deptno) values(1001,'Tom',3000,10);
结果: