触发器概述
首先讲定义:
一般意义的存储过程,即用户自定义的存储过程和系统存储过程。
触发器:是一种特殊的存储过程,即如下。
触发器的概念及作用
触发器是一种特殊类型的存储过程,它不同于我们前面介绍过的存储过程。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。当对某一表进行诸如UPDATE、 INSERT、 DELETE 这些操作时,SQL Server 就会自动执行触发器所定义的SQL 语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规则。
触发器的主要作用就是其能够实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性。除此之外,触发器还有其它许多不同的功能:
(1) 强化约束(Enforce restriction)
触发器能够实现比CHECK 语句更为复杂的约束。
(2) 跟踪变化Auditing changes
触发器可以侦测数据库内的操作,从而不允许数据库中未经许可的指定更新和变化。
(3) 级联运行(Cascaded operation)。
触发器可以侦测数据库内的操作,并自动地级联影响整个数据库的各项内容。例如,某个表上的触发器中包含有对另外一个表的数据操作(如删除,更新,插入)而该操作又导致该表上触发器被触发。
(4) 存储过程的调用(Stored procedure invocation)。
为了响应数据库更新触,发器可以调用一个或多个存储过程,甚至可以通过外部过程的调用而在DBMS( 数据库管理系统)本身之外进行操作。
由此可见,触发器可以解决高级形式的业务规则或复杂行为限制以及实现定制记录等一些方面的问题。例如,触发器能够找出某一表在数据修改前后状态发生的差异,并根据这种差异执行一定的处理。此外一个表的同一类型(INSERT、 UPDATE、 DELETE)的多个触发器能够对同一种数据操作采取多种不同的处理。
总体而言,触发器性能通常比较低。当运行触发器时,系统处理的大部分时间花费在参照其它表的这一处理上,因为这些表既不在内存中也不在数据库设备上,而删除表和插入表总是位于内存中。可见触发器所参照的其它表的位置决定了操作要花费的时间长短。
分享到:
相关推荐
首先,我们来详细理解三态输出触发器和锁存器的基本概念和功能。 三态输出触发器,如CD4043,是一种特殊类型的R-S触发器,它具有一个控制端,可以使得输出端呈现高阻抗状态,即"三态"。这意味着当控制端处于非激活...
### MySQL触发器的作用及语法详解 #### 一、触发器的概念 触发器是一种特殊类型的存储过程,它在特定的数据库事件(如数据插入、更新或删除)发生时自动执行。触发器增强了数据库的安全性和完整性控制,能够实现比...
实验内容包括了阅读有关资料,理解触发器概念,并编写触发器,实现 student 表执行插入操作后给出相应提示。在学生-课程数据库中,学生表中有“平均成绩”列 SAvgGrade,要求当对选课表 SC 做insert、delete、...
触发器是数据库管理系统中的一个重要概念,它是一种存储过程,能够在特定事件发生时自动执行,比如当数据被插入、更新或删除时。在本主题中,我们将深入探讨触发器的原理、类型、用法以及在实际数据库操作中的应用。...
### 施密特触发器电路及工作原理详解 #### 一、引言 施密特触发器作为一种重要的波形整形电路,在数字电子技术领域扮演着关键角色。它能够有效地将输入信号整形为清晰的方波或脉冲波,广泛应用于各种应用场景中,...
一、触发器概念和类型 触发器是数据库管理系统中的一种机制,可以自动执行某些操作,以维护数据的一致性和完整性。触发器可以分为两大类:行触发器和语句触发器。行触发器作用于单个表中的每一行,而语句触发器作用...
Oracle 触发器的概念和类型 Oracle 触发器是一种特殊的存储过程,它在插入、删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。数据库触发器有以下几种作用: 1. ...
首先,了解JK触发器的基本概念和工作原理是必要的。JK触发器具有两个输入端J和K,以及一个时钟输入端CP。在时钟脉冲的触发边沿到来时,触发器的输出会根据J和K的输入状态而变化。在高电平触发的JK触发器中,当J=K=1...
触发器的理解 触发器是一种数字逻辑电路,可以在两种状态下运行。它一直保持状态,直到收到输入脉冲,然后根据规则改变状态,保持这种状态直到下一次的触发。 触发器的特点是对脉冲边沿敏感,其状态只在时钟脉冲的...
9. **T触发器**:在时钟脉冲CP作用下,T=0时触发器状态保持不变,T=1时触发器状态翻转。 10. **JK触发器和T型触发器的操作**:对于JK触发器,J=K=1时,状态翻转;对于T型触发器,T=1时,状态翻转,T=0时保持。 11....
通过以上简单的介绍,希望原来没有使用过触发器的朋友能对触发器有个大致的概念和印象,如果你要深入了解的话,SQL SERVER 联机丛书就是你的好帮手。 触发器的应用非常广泛,它可以用来强制复杂的业务规则或要求,...
标题和描述中的“把触发器说透”指向了一个深度探讨Oracle数据库中触发器概念和技术的教程,这不仅仅是关于触发器的基础知识,更是包含了作者长期实践经验的精华总结。下面,我们将根据给定的内容,深入解析触发器的...
在IBM WebSphere MQ中,触发器主要由以下几个核心概念组成: 1. **触发器条件**:这是定义何时激活触发器的规则,通常基于消息属性,如消息类型、队列名称、消息大小等。例如,当到达的消息数量达到某个阈值时,...
触发器的基本概念 触发器是一种基本的数字电路元件,能够存储二进制信息。触发器的基本结构包括数据输入端、时钟输入端、清零输入端和输出端。触发器的状态可以根据时钟信号和数据输入信号而改变。 JK 触发器的...
触发器的命名通常反映出它的作用,如本例中的`before insert update for each row`表明这是一个行级触发器,作用于`department_id`列。 触发器有多种类型,包括语句触发器、行触发器、INSTEAD OF触发器、系统条件...
数据库 触发器实验报告 实验目的: 理解触发器的概念与类型 理解触发器的功能与工作原理 掌握创建、更改、删除触发器的方法
通过阅读`ORACLE 触发器语法及实例.txt`和`Oracle触发器语法(一) .txt`文件,你可以更深入地了解Oracle触发器的各种细节和更多实用示例。这些文档可能会涵盖如复合触发器、行级和语句级触发器的差异、如何禁用和启用...
为了生成相关知识点,我会基于标题“三态输出触发器及锁存器.pdf”中涉及的主题来展开详细说明,以便满足您的要求。 首先,介绍三态输出的概念。在数字电路中,三态输出指的是除了逻辑电路常见的“高电平”和“低...
SQL触发器的概念源自关系数据库理论,用于实现复杂的数据完整性约束,或者在数据发生变化时自动执行某些操作。本学习资料主要针对想要深入理解和掌握SQL触发器的读者,对数据库管理和开发人员尤其有价值。 一、...