触发器是一种特殊类型的存储过程,它不同于存储过程。触发器主要是通过事件进行触发而被执行的,触发器的触发事件分可为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数据库触发器的功能种类及其作用相关推荐

  1. oracle中删除级联方法,解析Oracle中多表级联删除的方法

    创建数据库时为了防止其他人不小心删除操作错误, 所有的外键都没有加级联删除.哪知,不知什么时候自己入了一批错误的数据进去,入库使用的是软件自动的,一下点错给自己带来无尽麻烦啊,删除就不好办了 表间的关 ...

  2. oracle中decode函数详细解释,oracle中的decode函数

    decode函数能够实现逻辑的if--else选择判断,但是只能进行等值判断,就像switch--case. 基本语法格式如下:DECODE(col/expression , search1 , re ...

  3. oracle中触发器的语法,解析Oracle触发器的语法

    导读:触发器是一种特殊的存储过程,触发器的执行不是由程序调用,也不是手工启动,而是由事件来触发,Oracle数据库是大家非常熟悉的数据库系统啦,那么Oracle触发器的语法是怎样的呢?下文中将为大家带 ...

  4. Android开发中的WMS详细解析

    /   今日科技快讯   / 近日,小冰公司宣布对旗下人工智能数字员工产品线启动年度升级.本次升级加强的技术包括大模型对话引擎.3D神经网络渲染.超级自然语音及AIGC人工智能内容生成.小冰公司计划将 ...

  5. oracle中如何写函数【oracle技术】

    oracle中如何写函数[oracle技术] | 浏览:1377 | 更新:2014-04-29 23:14 | 标签:oracle 在oracle数据开发中函数是必不可少的.函数可以一般是可以完成某 ...

  6. oracle数据库中spool的作用,Oracle中Spool命令如何使用 Oracle中Spool命令使用方法

    Oracle中Spool命令如何使用?本篇文章小编给大家分享一下Oracle中Spool命令使用方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 方法/步骤 首先需要明白 ...

  7. oracle连续周数,详细讲解Oracle数据库的“周数计算”

    详细讲解Oracle数据库的"周数计算"以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! --日期计算 ...

  8. oracle中的sql文本类型,Oracle数据库的空间数据类型

    Oracle数据库中空间数据类型随着GIS.CAD/CAM的广泛应用,对数据库系统提出了更高的要求,不仅要存储大量空间几何数据,且以事物的空间关系作为查询或处理的主要内容.Oracle数据库从9i开始 ...

  9. oracle中tnslsnr进程,查找处理oracle数据库中僵死进程

    查找数据库中僵死进程 Col terminal format a20 select pid, spid, username, terminal, program from v$process wher ...

最新文章

  1. MaxCompute跨Region数据迁移指导手册
  2. iperf3怎么看结果_【讲清楚,说明白!】使用iperf3监测网络吞吐量
  3. 经典C语言程序100例之五九
  4. SpringBoot集成Google开源图片处理框架,贼好用!
  5. 【bzoj2281】[Sdoi2011]黑白棋
  6. C语言课后习题(59)
  7. 疫情病毒全部“抹杀”?用数据模型来解读传播抑制的效果差异!
  8. “封杀中兴”后,TensorFlow、MySQL、Hadoop 也被“闭源”怎么办?
  9. Web学习篇之---html基础知识(一)
  10. Javasript中Date日期常用用法(正则、比较)
  11. 三维电子沙盘数字沙盘无人机倾斜摄影三维建模教程第45课
  12. 北航2022软件工程第一次作业——阅读、思考、调研、实践
  13. 2022081班李亚楠20220902
  14. 首届大连国际樱花节将启幕
  15. 同济高数第七版上册54页例1详细证明过程
  16. ArcGIS空间数据查询与处理
  17. 统计回文。“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。
  18. win10专业版激活(试试水)
  19. 关于UDK GameFramework的一点总结
  20. Adobe Dreamweaver CS6 绿色版

热门文章

  1. 超时空的爱情--胡彦斌
  2. php工程导致系统蓝屏,win7系统开启AHCI功能就出现蓝屏如何修复
  3. python开发以太坊应用(使用web3)
  4. 计算机病毒解析与防范论文1万字,计算机病毒的解析与防范
  5. C语言报告多少字,一个统计字数的程序
  6. excel取消多行隐藏
  7. 硬盘测试工具 hdparm
  8. Linux之expect命令,以及实战使用!!!
  9. linux查询jiffies命令,Linux全局变量jiffies的用法
  10. 6、Pytest之Fixture参数详解及使用