博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle 触发器
阅读量:5264 次
发布时间:2019-06-14

本文共 604 字,大约阅读时间需要 2 分钟。

使用触发器可以很方便的对数据进行备份或者同步抽取到其他库。但是稍不注意,也会出现问题。

1、使用触发器,如果触发器中的某个语句执行失败,又没有写exception捕获异常,会导致原表数据写入或更新失败。比如,在A表上建立一个触发器,当A中有数据新增时,往B表写入一条数据,如果B表写入失败,会导致A表中新增数据也失败。所以必须加Exception。

CREATE OR REPLACE TRIGGER tr_del_emp 

   BEFORE DELETE --指定触发时机为删除操作前触发
   ON scott.emp 
   FOR EACH ROW   --说明创建的是行级触发器 
BEGIN
   --将修改前数据插入到日志记录表 del_emp ,以供监督使用。
   INSERT INTO emp_his(deptno , empno, ename , job ,mgr , sal , comm , hiredate )
       VALUES( :old.deptno, :old.empno, :old.ename , :old.job,:old.mgr, :old.sal, :old.comm, :old.hiredate );

  EXCEPTION

  WHEN OTHERS THEN

    --写不会出错的日志信息

END;

 

转载于:https://www.cnblogs.com/KQNLL/p/7748231.html

你可能感兴趣的文章
mysql 8.0 zip包安装
查看>>
Spring框架系列(三)--Bean的作用域和生命周期
查看>>
springboot + mybatis
查看>>
awk 统计
查看>>
CSS min-height 属性
查看>>
SDN第一次作业
查看>>
模板设计模式的应用
查看>>
【井字游戏】做一款回忆童年的游戏
查看>>
高性能的异步爬虫
查看>>
数据结构(二):栈
查看>>
实训第五天
查看>>
平台维护流程
查看>>
SQL (FMDB)
查看>>
2012暑期川西旅游之总结
查看>>
Linux发行版的排行
查看>>
宾得镜头大全与发展史
查看>>
spread+wackamole打造全新高可用+负载均衡
查看>>
sql语句中的left join,right join,inner join的区别
查看>>
Xcode 快捷键及代码格式化
查看>>
12010 解密QQ号(队列)
查看>>