oracle触发器使用案例
2016-03-22 14:32
417 查看
开发要求:
删除或者更新表tab的行时,更新表cust相应的字段。
表tab中custguid字段和表cust中cust_guid字段是关联字段,表tab中com字段和表cust中str字段是关联字段。
创建表tab,表cust
创建触发器
验证
发现,当更新tab的行时,表cust相应字段也跟着更新了。
备注:
1、关联字段的字符类型一定要相同
2、确保当前用户具有创建触发器的权限。触发器相关权限
删除或者更新表tab的行时,更新表cust相应的字段。
表tab中custguid字段和表cust中cust_guid字段是关联字段,表tab中com字段和表cust中str字段是关联字段。
创建表tab,表cust
create table tab(custguid varchar2(30),com varchar2(20)); create table cust(cust_guid varchar2(30),str varchar2(20)); insert into tab values('1abc','help'); insert into tab values('qqqq','gggg'); insert into cust values('qqqq','ffff'); insert into cust values('2abc','help'); insert into cust values('3abc','help'); insert into cust values('4abc','help');
创建触发器
create or replace trigger tr_tab_cust_1 after insert or update on tab referencing new as new old as old for each row begin update cust set str=:new.com where cust_guid=:new.cust_guid; end;
验证
update TAB set COM = 'wwww' where CUSTGUID = '1abc'; select * from tab; select * from cust;
发现,当更新tab的行时,表cust相应字段也跟着更新了。
备注:
1、关联字段的字符类型一定要相同
2、确保当前用户具有创建触发器的权限。触发器相关权限
grant create trigger to scott; grant alter any trigger to scott;
相关文章推荐
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- mysql触发器
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- Oracle 10g R2不能使用EM的问题
- 表空间操作
- PreparedStatement中in子句的处理
- VMware下RedHat4.8_64位安装Oracle 10g RAC--简略脚本
- oracle sql日期比较
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- OS block size和Oracle block size,查找OS Blocksize的方法
- oracle中创建数据库和表空间的几点总结
- 数据库自动备份脚本
- oracle的nvl函数的使用介绍
- 解决oracle用户连接失败的解决方法
- oracle的一些tips技巧
- Oracle 下的开发日积月累
- Oracle存储过程之数据库中获取数据实例
- Windows下ORACLE 10g完全卸载的方法分析
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页