create or replace trigger emp
--before 表示对操作前的触发器
-- after 表示对操作后的触发器--每张表最多可建立12个触发器
--before inset
--before insert for each row
--after insert
--after insert for each row--before uPdate
--before uPdate for each row
--after uPdate
--after uPdate for each row--before uPdate
--before uPdate for each row
--after uPdate
--after uPdate for each row--执行的顺序是:#1. 执行before语句级的触发器,对于受语句影响的每一行:
-- #2. 执行级触发器,执行DML语句
--执行after行级的触发器
--#3. 执行 after语句级的触发器 before delete on aaa --删除操作前aaa表的触发器
for each row --对表的每一行触发器执行一次。如果没有这一选项,则只对整个表执行一次。
declarebegin /*如果插入的任然是aaa表的话,会出现:第 1 行出现错误:
ORA-04091: 表 QUERY.AAA 发生了变化, 触发器/函数不能读它
ORA-06512: 在 "QUERY.EMP", line 4 (QUERY表示user,line表示行数,EMP表示触发器名称)
ORA-04088: 触发器 "QUERY.EMP" 执行过程中出错*/ /*将修改前的数据插入到日志表aaa_tmp里去,以供监督使用*/
insert into aaa_tmp(AID,ANAME,PRICE)
values(:old.AID,:old.ANAME,:old.PRICE);--:old表示原来的数据,
--:new表示插入的新数据
end emp;Oracle中使用序列和触发器实现单个字段值自增长Oracle 使用游标删除单行相关资讯 Oracle入门教程
- 使用SQLT来构建Oracle测试用例 (08/28/2014 06:17:41)
- Oracle AUTOTRACE 统计信息 (02/18/2013 08:25:40)
- Linux Oracle服务启动&停止脚本与 (12/16/2012 14:42:37)
| - Oracle入门教程:把表和索引放在不 (07/13/2013 11:21:40)
- Oracle直接路径加载--append的深度 (02/07/2013 08:26:36)
- Oracle Connect By用法 (12/16/2012 13:36:10)
|
本文评论 查看全部评论 (0)