数据库之触发器

简介:

触发器——看到这个名字总是会想到数电中学过的触发器,有输入端和输出端,根据电平的高低来触发。

  数据库中的触发器是个特殊的存储过程,主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名称而被直接调用。

  作用:使用T——SQL语句进行复杂的逻辑处理,基于一个表创建,但是可以对多个表进行操作,因此常常用于复杂的业务规则。可以完成如下功能:

  1 、级联修改数据库中相关的表

  2、执行比核查约束更为复杂的约束操作

  3、拒绝或回滚违反引用完整性的操作。

  4、比较表修改前后数据之间的差别,并根据差别采取相应的操作。

  创建触发器的规则和限制:

  1、Create Trigger语句必须是批处理中的第一个语句。

  2、在默认情况下,创建触发器的权限将分配给数据表的所有者,且不能转给其他用户

  3、触发器是数据库对象,其名称必须遵循标识符的命名规则。

  4、虽然触发器可以引用当前数据库以外的对象,但是只能在当前数据库中创建触发器。

  5、虽然不能在临时数据表上创建触发器,但是触发器可以引用临时数据表。

  6、不能在系统数据表创建触发器,也不可以引用系统数据库。

  7、在包含使用delete或updata操作定义中,不能定义instead of和instead of update触发器。

  8、TRUNCATE TABLE语句不会引发Delete触发器,因为该语句没有被记入日志

  9、Writetext语句不会引发insert或update触发器

  注意:当创建一个触发器时必须指定:名称;在其上定义触发器的表;触发器将何时激发;激活触发器的数据修改语句。

  管理触发器有两种方法:一是使用企业管理器管理触发器;二是使用T——SQL管理触发器。都可以对触发器进行创建,修改,删除。

  使用T——SQL查看触发器相关数据:使用系统存储过程sp_helptrigger:语法如下:exec sp_helptrigger‘table’[,'type']

  table:触发器所在的表名

  type:指定列出的操作类型的触发器。若不指定,则列出所有的触发器。

  例子:exec sp_helptrigger'employee'








====================================分割线================================



最新内容请见作者的GitHub页:http://qaseven.github.io/

目录
相关文章
|
1月前
|
关系型数据库 MySQL 数据处理
轻松入门MySQL:数据库之触发器,自动守护你的数据宝库(17)
轻松入门MySQL:数据库之触发器,自动守护你的数据宝库(17)
|
12天前
|
关系型数据库 MySQL 数据库
MySQL数据库——触发器-案例(Insert类型、Update类型和Delete类型)
MySQL数据库——触发器-案例(Insert类型、Update类型和Delete类型)
17 0
|
12天前
|
SQL 关系型数据库 MySQL
MySQL数据库——触发器-介绍、语法(创建,查看,删除)
MySQL数据库——触发器-介绍、语法(创建,查看,删除)
7 0
|
1月前
|
SQL Oracle 关系型数据库
数据库sqlserver-----触发器的插入,更新和删除
数据库sqlserver-----触发器的插入,更新和删除
39 3
|
1月前
|
监控 Oracle 安全
Oracle用户事件触发器:数据库世界的“福尔摩斯”
【4月更文挑战第19天】Oracle用户事件触发器是数据库中的监控机制,类似于“福尔摩斯”,在用户执行特定操作时自动触发。它们关注用户行为而非数据变化,可用于权限检查、安全监控、性能优化等。通过DDL语句创建,需注意逻辑清晰、条件合适及定期更新,以适应数据库变化和业务发展。掌握其使用能有效保障数据安全与稳定。
|
1月前
|
SQL 存储 Oracle
Oracle语句级触发器:数据库的“隐形哨兵”
【4月更文挑战第19天】Oracle语句级触发器是数据库中的自动执行程序,当特定事件(如INSERT、UPDATE、DELETE)发生时,会针对整个SQL语句触发。以新员工入职记录日志为例,创建语句级触发器可自动在操作后向日志表插入信息,减少手动工作并提高性能。虽然无法处理行级详细信息,但在处理大量数据时,相比行级触发器更高效。掌握触发器使用能提升数据管理效率和安全性。
|
1月前
|
存储 SQL 数据挖掘
视图、触发器和存储过程:提升数据库功能
视图、触发器和存储过程:提升数据库功能
34 1
|
1月前
|
存储 SQL 关系型数据库
【MySQL 数据库】10、MySQL 的触发器
【MySQL 数据库】10、MySQL 的触发器
26 0
|
10月前
|
存储 SQL 关系型数据库
MySQL存储过程与触发器:提升数据库操作效率与数据一致性
本文深入探讨了MySQL数据库中的存储过程与触发器,通过丰富的代码示例,详细介绍了存储过程的定义与调用、参数与变量的应用,以及触发器的创建、使用和实际案例。存储过程作为预定义的一组SQL语句,能够提高数据库操作的效率,实现数据逻辑和复杂计算。同时,触发器作为在特定事件触发时自动执行的SQL语句,能够保障数据一致性和逻辑完整性。通过代码实例,读者将了解如何创建、调用存储过程,如何利用参数和变量进行数据处理,以及如何创建触发器并应用于实际场景。这些技术将使读者能够在数据库管理中更高效地进行操作和保障数据的完整性,为应用程序提供可靠的数据支持。
242 0
|
11月前
|
存储 SQL 安全
数据库SQL Server 9-10 章(存储过程与触发器)
数据库SQL Server 9-10 章(存储过程与触发器)
158 0