触发器 REFERENCING OLD AS OLD NEW AS NEW FOR EACH Row
------转自http://guocc.iteye.com/blog/2225063
REFERENCING OLD AS OLD NEW AS NEW FOR EACH Row
- CREATE OR REPLACE TRIGGER TRI_DELETE_INFO
- AFTER DELETE ON T_INFO_2012
- REFERENCING OLD AS OLD NEW AS NEW
- FOR EACH ROW
- DECLARE
- V_SQLERRM VARCHAR2(200);
- BEGIN
- DELETE FROM T_INFO_2013 WHERE CODE = :OLD.CODE;
- --COMMIT; 触发器中不可以使用COMMIT;
- EXCEPTION
- WHEN OTHERS THEN
- V_SQLERRM := '触发器 TRI_DELETE_INFO 出错:' || SQLERRM;
- INSERT INTO PROCEDURE_LOG
- (ERRMSG, ERRDATE)
- VALUES
- (V_SQLERRM, SYSDATE);
- END;
1、For each row的意义是:在一次操作表的语句中,每操作成功一行就会触发一次;不写的话,表示是表级触发器,则无论操作多少行,都只触发一次;
2、REFERENCING OLD 和 REFERENCING NEW 的含义不同,具体取决于触发器是行级还是语句级触发器。对于行级触发器,REFERENCING OLD 子句允许引用更新或删除之前行中的值,REFERENCING NEW 子句允许引用已插入或更新的值。在 BEFORE 和 AFTER 触发器中可以引用 OLD 和 NEW 行。REFERENCING NEW 子句允许在插入或更新操作发生之前在 BEFORE 触发器中修改新行
3、:NEW 和:OLD使用方法和意义,new 只出现在insert和update时,old只出现在update和delete时。在insert时new表示新插入的行数据,update时new表示要替换的新数据、old表示要被更改的原来的数据行,delete时old表示要被删除的数据。
begin前面出现的new,old不加冒号,begin和end之间出现的new和old都要在前面加上":"。
REFERENCING OLD AS OLD NEW AS NEW
这样写之后就可以在begin end直接直接使用别名来引用。
转载于:https://www.cnblogs.com/linjiao/p/6899035.html
触发器 REFERENCING OLD AS OLD NEW AS NEW FOR EACH Row相关推荐
- Oracle学习笔记十三 触发器
2019独角兽企业重金招聘Python工程师标准>>> 简介 触发器是当特定事件出现时自动执行的存储过程,特定事件可以是执行更新的DML语句和DDL语句,触发器不能被显式调用. 触发 ...
- oracle中创建触发器
从csdn上面看到一个如何创建触发器的问题,感觉自己很有必要保存学习,特写下来: 条件: 现有A.B两张表 A: 工号 姓名 密码 性别 年龄 ... B: 工号 姓名 密码 当对A表中的" ...
- Oracle使用手册(三)---存储过程与触发器
--存储过程 /**//* --1.过程的语法结构 --参见:http://newland.cnblogs.com/archive/2006/04/05/367531.html --2.执行存储过程 ...
- oracle触发器初始化,oracle – 触发器无法初始化变量
我有触发审计,它存储了对任何EMP表行执行的操作. 这个触发器工作正常,除了在某些情况下(很少发生,我无法确定确切的条件)它给了我 Oracle错误:ORA-01400:无法插入NULL(" ...
- Oracle Study之--Oracle触发器(Trigger)
本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创建DML触发器 8.2. ...
- oracle 触发器 学习笔记
触发器 是特定事件出现的时候,自动执行的代码块.类似于存储过程,但是用户不能直接调用他们. 功能: 1. 允许/限制对表的修改 2. 自动生成派生列,比如自增字段 3. 强制数据一致性 4. ...
- ORACLE触发器具体解释
ORACLE PL/SQL编程之八: 把触发器说透 本篇主要内容例如以下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 ...
- Oracle 触发器(上)
一:概述 1.1:类型 1.1.1 DML触发器 ORACLE可以在DML语句进行触发,可以在DML操作前或操作后进行触发,并且可以对每个行或语句操作上进行触发. 1.1.2替代触发器 由于在ORAC ...
- oracle 创建 触发,Oracle 创建触发器
create or replace trigger DATA_SYNC_@TABLE@ before insert or update or delete on @TABLE@ REFERENCING ...
最新文章
- 达观杯_构建模型(四)贝叶斯
- CSS进阶(二十四)流向的改变
- VUEX源码学习笔记(第5~6章 共6章)
- 所谓情商高就是会说话
- [剑指offer]面试题第[1]题[JAVA][二维数组中的查找][数组][二分]
- $0,$#,$@,$+特殊符号的含义,shell的传递参数
- spring页面使用注解@RequestParam把请求参数封装到map中
- BerkeleyDB环境API
- iOS Xcode如何打包ipa安装包
- Android 属性动画
- springboot @Value无效原因
- 2016年求职找工作千万小心这些求职陷阱
- 构建ROP链实现远程栈溢出
- SPSS教程——进行数据的纵向和横向合并
- VH6501模板工程介绍(一)
- 中国大学生数学竞赛(非数学专业类)竞赛大纲
- 数据库系统概论 关系代数:专门的关系运算
- 古玩文物字画寄售系统源码/拍卖商城系统源码/竞拍系统源码转拍系统
- 国外能够使用替代Google Map 方案调研
- 了解Netsparker扫描器
热门文章
- PRML-系列一之1.2.5~1.2.6
- linux创建sftp服务器,Linux Centos 6.6搭建SFTP服务器
- python实现学生成绩聚类分析_聚类分析Python实现
- 【Tensorflow】深度学习实战01——Tensorflow实现简单的卷积网络(MNIST)
- 【图像处理】直方图均衡化(附带Matlab及OpenCV3自编程实现代码)
- 如何将多个文本数据转化为指定数据格式[以电影数据为例](数据预处理)
- 证明Ax=0的最小二乘解是ATA的最小特征值对应的特征向量(||x||=1)
- 计算机视觉基础---OpenCV框架与图像插值算法(图像伸缩)cpp+python
- Struts2访问Servlet的三种方式
- matlab话pca的双标图biplot,r – 用ggplot2绘制pca biplot