oracle中触发器作用,详细解析Oracle数据库触发器的功能种类及其作用
触发器是一种特殊类型的存储过程,它不同于存储过程。触发器主要是通过事件进行触发而被执行的,触发器的触发事件分可为3类,分别是DML事件、DDL事件和数据库事件,而存储过程可以通过存储过程名字而被直接调用。当对某一表进行诸如UPDATE、 INSERT、 DELETE 这些操作时,SQL Server 就会自动执行触发器所定义的SQL 语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规则。
触发器是特定事件出现的时候,自动执行的代码块。类似于存储过程,但是用户不能直接调用他们。
触发器功能
1、 允许/限制对表的修改
2、 自动生成派生列,比如自增字段
3、 强制数据一致性
4、 提供审计和日志记录
5、 防止无效的事务处理
6、 启用复杂的业务逻辑
触发器种类
触发器的种类可划分为4种:1.数据操纵语言(DML)触发器、2.替代(INSTEAD OF)触发器、3.数据定义语言(DDL)触发器、4.数据库事件触发器。
数据操纵语言(DML)触发器:简称DML触发器,是定义在表上的触发器,创建在表上。由DML事件引发的触发器,编写DML触发器时的两点要素是: 1.确定触发的表,即在其上定义触发器的表。2.确定触发的事件,DML触发器的触发事件有INSERT、UPDATE和DELETE三种; 替代触发器,简称INSTEAD OF触发器,创建在视图上,用来替换对视图进行的删除、插入和修改操作; 数据定义语言(DDL)触发器,简称DDL触发器,定义在模式上,触发事件是数据对象的创建和修改; 数据库事件触发器,定义在整个数据库或模式上,触发事件是数据库事件.
ORACLE产生数据库触发器的语法为:
CREATE [OR REPLACE] TRIGGER 触发器名
{BEFORE|AFTER|INSTEAD OF} 触发事件1 [OR 触发事件2...]
ON 表名
WHEN 触发条件
[FOR EACH ROW]
DECLARE
声明部分
BEGIN
主体部分
END;
oracle中触发器作用,详细解析Oracle数据库触发器的功能种类及其作用相关推荐
- oracle中删除级联方法,解析Oracle中多表级联删除的方法
创建数据库时为了防止其他人不小心删除操作错误, 所有的外键都没有加级联删除.哪知,不知什么时候自己入了一批错误的数据进去,入库使用的是软件自动的,一下点错给自己带来无尽麻烦啊,删除就不好办了 表间的关 ...
- oracle中decode函数详细解释,oracle中的decode函数
decode函数能够实现逻辑的if--else选择判断,但是只能进行等值判断,就像switch--case. 基本语法格式如下:DECODE(col/expression , search1 , re ...
- oracle中触发器的语法,解析Oracle触发器的语法
导读:触发器是一种特殊的存储过程,触发器的执行不是由程序调用,也不是手工启动,而是由事件来触发,Oracle数据库是大家非常熟悉的数据库系统啦,那么Oracle触发器的语法是怎样的呢?下文中将为大家带 ...
- Android开发中的WMS详细解析
/ 今日科技快讯 / 近日,小冰公司宣布对旗下人工智能数字员工产品线启动年度升级.本次升级加强的技术包括大模型对话引擎.3D神经网络渲染.超级自然语音及AIGC人工智能内容生成.小冰公司计划将 ...
- oracle中如何写函数【oracle技术】
oracle中如何写函数[oracle技术] | 浏览:1377 | 更新:2014-04-29 23:14 | 标签:oracle 在oracle数据开发中函数是必不可少的.函数可以一般是可以完成某 ...
- oracle数据库中spool的作用,Oracle中Spool命令如何使用 Oracle中Spool命令使用方法
Oracle中Spool命令如何使用?本篇文章小编给大家分享一下Oracle中Spool命令使用方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 方法/步骤 首先需要明白 ...
- oracle连续周数,详细讲解Oracle数据库的“周数计算”
详细讲解Oracle数据库的"周数计算"以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! --日期计算 ...
- oracle中的sql文本类型,Oracle数据库的空间数据类型
Oracle数据库中空间数据类型随着GIS.CAD/CAM的广泛应用,对数据库系统提出了更高的要求,不仅要存储大量空间几何数据,且以事物的空间关系作为查询或处理的主要内容.Oracle数据库从9i开始 ...
- oracle中tnslsnr进程,查找处理oracle数据库中僵死进程
查找数据库中僵死进程 Col terminal format a20 select pid, spid, username, terminal, program from v$process wher ...
最新文章
- MaxCompute跨Region数据迁移指导手册
- iperf3怎么看结果_【讲清楚,说明白!】使用iperf3监测网络吞吐量
- 经典C语言程序100例之五九
- SpringBoot集成Google开源图片处理框架,贼好用!
- 【bzoj2281】[Sdoi2011]黑白棋
- C语言课后习题(59)
- 疫情病毒全部“抹杀”?用数据模型来解读传播抑制的效果差异!
- “封杀中兴”后,TensorFlow、MySQL、Hadoop 也被“闭源”怎么办?
- Web学习篇之---html基础知识(一)
- Javasript中Date日期常用用法(正则、比较)
- 三维电子沙盘数字沙盘无人机倾斜摄影三维建模教程第45课
- 北航2022软件工程第一次作业——阅读、思考、调研、实践
- 2022081班李亚楠20220902
- 首届大连国际樱花节将启幕
- 同济高数第七版上册54页例1详细证明过程
- ArcGIS空间数据查询与处理
- 统计回文。“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。
- win10专业版激活(试试水)
- 关于UDK GameFramework的一点总结
- Adobe Dreamweaver CS6 绿色版