Oracle 触发器语法及实例(二)
2008-09-19 12:55:36 来源:WEB开发网2、触发器的类型有:
触发器类型:
1、 语句触发器
2、 行触发器
3、INSTEAD OF触发
4、 系统条件触发器
5、 用户事件触发器
2.1、语句级触发器.(语句级触发器对每个DML语句执行一次)
是在表上或者某些情况下的视图上执行的特定语句或者语句组上的触发器。能够与INSERT、UPDATE、DELETE或者组合上进行关联。但是无论使用什么样的组合,各个语句触发器都只会针对指定语句激活一次。比如,无论update多少行,也只会调用一次update语句触发器。
实例:
createorreplacetriggertri_test
afterinsertorupdateordeleteontest
begin
ifupdatingthen
dbms_output.put_line('修改');
elsifdeletingthen
dbms_output.put_line('删除');
elsifinsertingthen
dbms_output.put_line('插入');
endif;
end;
2.2、行级触发器.(行级触发器对DML语句影响的每个行执行一次)
实例一:
触发器
行级触发器
createtabletest(sidnumber,snamevarchar2(20));--创建一个表
createsequenceseq_test;--创建序列
createorreplacetriggertri_test--创建触发器
beforeinsertorupdateofsidontest
foreachrow--触发每一行
begin
ifinsertingthen
selectseq_test.nextvalinto:new.sidfromdual;
else
raise_application_error(-20020,'不允许更新ID值!');--中断程序
endif;
end;
- ››oracle 恢复误删除的表和误更新的表
- ››Oracle分页查询排序数据重复问题
- ››Oracle创建dblink报错:ORA-01017、ORA-02063解决
- ››Oracle 提高SQL执行效率的方法
- ››Oracle 动态查询,EXECUTE IMMEDIATE select into...
- ››Oracle 11g必须开启的服务及服务详细介绍
- ››oracle性能34条优化技巧
- ››oracle数据库生成随机数的函数
- ››Oracle 数据库表空间容量调整脚本
- ››oracle单库彻底删除干净的方法
- ››Oracle创建表空间、创建用户以及授权、查看权限
- ››oracle 中 UPDATE nowait 的使用方法
更多精彩
赞助商链接