首页 / ORACLE / Oracle 触发器的使用
Oracle 触发器的使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle 触发器的使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2219字,纯文字阅读大概需要4分钟。
内容图文
![Oracle 触发器的使用](/upload/InfoBanner/zyjiaocheng/493/c4d75bc3de3f493eba73a4591fd7205a.jpg)
1.创建语句级触发器insertEmpTrigger,当对表【emp】进行增加【insert】操作前【before】,显示‘插入了一条数据‘
注意是单引号
1 --创建触发器
2 create or replace trigger insert_trigger
3 before
4 insert
5 on emp
6 for each row
7 begin
8 dbms_output.put_line(‘插入了一条数据‘);
9 end;
10 /
如果不加for each row即使一次插入多条数据,触发器仍然只工作一次(普通的语句触发器),for each row 使得这个触发器变成了一个行触发器
2.星期一到星期五,且9-21点能向数据库emp表插入数据,否则使用函数抛出异常,使用:raise_application_error(‘-20000‘,‘例外原因‘)
说明:raise_application_error(error_number,error_message) 用于抛出自定义的异常 error_number为-20000 到 -20999 之间,error_message表示错误的信息
注意:不能仅仅用整点来控制,必须要考虑分钟的问题
1 create or replace trigger security_trigger
2 before
3 insert
4 on emp
5 for each row
6 declare
7 pday varchar2(10);
8 phour number(2);
9 begin
10 select to_char(sysdate,‘day‘) into pday from dual;
11 select ceil(to_char(sysdate,‘hh24.mi‘)) into phour from dual;
12 if pday in (‘星期六‘,‘星期日‘) or phour not between 9 and 21 then
13 raise_application_error(‘-20000‘,‘非工作日不能插入数据‘);
14 end if;
15 end;
16 /
触发器创建之后,在周一的 21:57时已经不能插入数据
3.创建行级触发器checkSalaryTrigger,涨后工资这一列,确保大于涨前工资(10%) (:new.sal/:old.sal的使用)
:new.列名 与:old.列名 分别表示 某列的新值与旧值,而且这两个变量只有在创建触发器时加上for each row才会出现
此外update二者皆有,insert只有:new,delete只有:old(上面已经说过,触发器不针对select操作)
1 create or replace trigger checkSalary_trigger
2 after
3 update
4 on emp
5 for each row
6 begin
7 -- 伪变量:new.sal表示更新后的sal字段
8 -- 10% 要写成 0.1
9 if (:new.sal - :old.sal) < :old.sal*0.1 then
10 raise_application_error(‘-20000‘,‘工资涨幅必须大于10%‘);
11 else
12 dbms_output.put_line(‘更新成功!‘);
13 end if;
14 end;
15 /
Oracle 触发器的使用
标签:error ptr div 星期六 temp src var create 检查
本文系统来源:http://www.cnblogs.com/tele-share/p/7719591.html
内容总结
以上是互联网集市为您收集整理的Oracle 触发器的使用全部内容,希望文章能够帮你解决Oracle 触发器的使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。