SQL Server如何正确认识触发器
SQL #sql server #触发器2012-10-23 16:48
触发器是数据库服务器中发生事件时自动执行的特殊存储过程,它插入、删除或修改特表中的数据时触发执行。触发器通常可以强制执行一定的业务规则,以保持数据完整性、检查数据有效性、实现数据库管理任务和一些附加的功能。
在Sqlserver中一张表可以有多个触发器。用户可以根据INSERT、UPDATE或DELETE语句对触发器进行设置,也可以对一张表上的特别操作设置多个触发器。触发器可以包含复杂的T-SQL语句。触发器不能通过名称被直接调用,更不允许设置参数。
触发器的特点如下:(1) 触发器自动执行
对表中的数据进行修改后,触发器立即被激活。
(2) 可以调用存储过程
为了实现复杂的数据库更新操作,触发器可以调用一个或多个存储过程,甚至可以通过调用外部过程(不是数据库管理系统本身)完成相应的操作。
(3) 可以强化数据条件约束
触发器能够实现比CHECK约束更为复杂的数据完整性约束。在数据库中为了实现数据完整性约束,可以使用CHECK约束或触发器。CHECK约束不允许引用其他表中的例来完成检查工作,而触发器可以引用其他表中的列,更适合在大型数据库管理系统中用来约束数据的完整性。
(4) 触发器可以禁止或回滚违反引用完整性的更改
触发器可以检测数据内的操作,从而取消数据库未经许可的更新操作,使数据库修改、更新操作更安全,数据库的运行也更稳定。
(5) 级联、并行运行
触发器能够对数据库中的相关表实现级联更改。触发器是基于一个表创建的,但是可以针对多个表进行操作,实现数据库中相关表的级联更改。
(6) 同表多触发器
一个表中可以同时存在3个不同操作的触发器(INSERT、UPDATE和DELETE)。
相关文章
- SQL Server如何正确理解存储过程 2012/10/23
- SQL Server视图的认识与原理 2012/10/23
- SQL Server中最小函数依赖集 2012/10/23
- Transact-SQL中的一些命名规范 2012/10/22
- SQL命名与注释规范 2012/10/22
- SQL编写规范 2012/10/22
- 针对高并发web站点的MySQL参数优化 2012/09/24
- MySQL的my.cnf参数配置优化详解 2012/09/21
- MySQL负载过高的优化总结 2012/09/20
- oracle 查看用户权限的SQL语句 2012/09/01