oracle更新前触发器,Oracle之前更新触发器
本Oracle教程解释了如何在Oracle中创建Before Update触发器的语法和示例。
Before Update触发器表示Oracle将在执行更新操作之前触发此触发器。
语法
在Oracle / PLSQL中创建Before Update触发器的语法是:
CREATE [ OR REPLACE ] TRIGGER trigger_name BEFORE UPDATE ON table_name [ FOR EACH ROW ] DECLARE -- variable declarations BEGIN -- trigger code EXCEPTION WHEN ... -- exception handling END;
参数:
OR REPLACE – 可选的。 如果指定,它允许您重新创建已存在的触发器,以便可以在不发出DROP TRIGGER语句的情况下更改触发器定义。
trigger_name – 要创建的触发器的名称。
BEFORE UPDATE – 它表示触发器将在执行UPDATE操作之前触发。
table_name – 创建触发器的表的名称。
限制
无法在视图上创建BEFORE触发器。
可以更新:NEW值。
无法更新:OLD值。
注意
另请参阅如何创建,,,和触发器。
示例
我们来看看如何使用CREATE TRIGGER语句创建BEFORE UPDATE触发器的示例。
需要先创建下面一个表:
CREATE TABLE orders ( order_id number(5), quantity number(4), cost_per_item number(6,2), total_cost number(8,2), updated_date date, updated_by varchar2(10) );
然后使用CREATE TRIGGER语句创建一个BEFORE UPDATE触发器,如下所示:
提示:使用SQLPlus时,需要在触发后在新行上输入斜杠。 否则,脚本将不会执行。
CREATE OR REPLACE TRIGGER orders_before_update BEFORE UPDATE ON orders FOR EACH ROW DECLARE v_username varchar2(10); BEGIN -- Find username of person performing UPDATE on the table SELECT user INTO v_username FROM dual; -- Update updated_date field to current system date :new.updated_date := sysdate; -- Update updated_by field to the username of the person performing the UPDATE :new.updated_by := v_username; END; /
¥ 我要打赏 纠错/补充 收藏
oracle更新前触发器,Oracle之前更新触发器相关推荐
- oracle安装前准备,Oracle 安装前准备
[root@localhost Desktop]# groupadd -g 110 oinstall 用来安装oracle软件 [root@localhost Desktop]# groupadd - ...
- sqlserver 触发器 怎么获取更新前的值
sqlserver 触发器 怎么获取更新前的值 更新的动作你可以分2步理解,先delete ,再insert 所以,前的值在 deleted里 后的值在 inserted里 create t ...
- ORACLE PL/SQL编程之八: 把触发器说透
本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创建DML触发器 8.2. ...
- ORACLE PL/SQL编程之八:把触发器说透
ORACLE PL/SQL编程之八:把触发器说透 ORACLE PL/SQL编程之八: 把触发器说透 大家一定要评论呀,感谢!光发表就花了我将近一个下午. 本篇主要内容如下: 8.1 触发器类型 8. ...
- oracle建个触发器,oracle数据库如何创建触发器实例
Oracle DBA Studio 工具里面就能创建触发器 CREATE TRIGGER 名称 CREATE TRIGGER - 创建一个新触发器 语法 CREATE TRIGGER name { B ...
- Oracle\MS SQL Server的数据库多表关联更新UPDATE与多表更新
一条Update更新语句是不能更新多张表的,除非使用触发器隐含更新.而表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据.我们先来讨论根据其他表数据更新你要更新的表 一.MS S ...
- oracle行级的触发器,Oracle触发器Trigger2行级
create table trigger_t2( id int, name varchar(30), age int ); /* --创建一个before update的触发器-控制每一行,行级 -- ...
- oracle如何添加触发器,Oracle之前插入触发器
本Oracle教程解释了如何在Oracle中创建BEFORE INSERT触发器的语法和示例. BEFORE INSERT触发器意味着Oracle将在执行INSERT操作之前触发此触发器. 语法 在O ...
- 升级oracle spu,Oracle 2017改变:新补丁更新(RU和RUR),新的版本(Release 18和19)
其实早在2个月前就从一些国外OUG得知,第一个是从2017年开始改变了季度更新的方式,改变了过去的PSU为RUR (Release Update Revision) ,和改变 ProactiveBP ...
最新文章
- 你真的会用 CocoaPods 吗?
- Python学习——模块的基本知识
- 外企面试官最爱提的10个问题
- 一步步编写操作系统 55 CPL和DPL入门2
- des加密出的字符串有特殊字符吗_纯干货分享丨内网渗透很难学吗?
- MICCAI 2019 :纪录、风向与学术思考
- mac下svn常用命令
- JDK1.8之Stream
- 求多个数最小公倍数和最大公约数
- 自动化测试中自动化切换网络----解决方案
- Proxmark3 easy gui 5.13 版本 编译日期2019-4-17 冰人4月份最新固件
- mo文件等不能上传到git上
- keras load model 并保存特定层 (pop) 的权重save new_model
- SEAYAR - 思雅,快乐生活
- 开源让这位 00 后逆袭成为各类大奖收割者
- 怎样把pdf格式转换成jpg
- svn 怎么提交代码
- 计算机组成原理实验报告JMPR,计算机组成原理实验四:组合逻辑控制器部件教学实验...
- 人工智能笔记之专业选修课4.1.5 - 博弈论 9.重复博弈,效用,随机博弈
- 求通俗解释下bandit老虎机是个什么东西?
热门文章
- Ashmem、MemoryFile、Binder的共享内存(jni可用)
- Ubuntu12.04安装nginx并测试
- SpringBoot之idea快捷键
- python穷举法_python 穷举指定长度的密码例子
- MySQL中 limit和offset用法
- Error while waiting for device: The emulator process for AVD Pixel_API_30 has terminated.
- java的equals什么作用_java当中equals函数的作用小结
- maya 替换名称_maya替换对象,MAYA
- repeat mysql翻译_MySQL数据库中系统函数repeat有哪些功能呢?
- 磁盘格式 mac android,MacDroid for mac(安卓手机数据传输助手)