当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server:SQL中如何正确认识触发器

MSSQL
优化SQL Server索引的小技巧
SQL Server的空值处理策略
Windows上的MySQL UDF开发
MS SQLSERVER中如何快速获取表的记录总数
MS SQLSERVER 中如何得到表的创建语句
使用索引调节向导调整应用程序的性能
使用查询分析器调整SQL服务器脚本
SQL Server到Oracle连接服务器的实现
数据库查询结果的动态排序(6)
数据库查询结果的动态排序(7)
保持Oracle数据库优良性能的若干诀窍
数据库管理员制胜之宝
在Linux下访问MS SQL Server数据库
关于如何在查询结果中添加自动编号
如何提取除最新十条记录之外的所有记录?
一个有关DISTINCT的问题解答
关于MSSQL Server中DATETIME类型数据的处理
TOP N 和SET ROWCOUNT N 哪个更快?
金额阿拉伯数字转换为中文的存储过程
谈谈数据从sql server数据库导入mysql数据库的体验

MSSQL 中的 SQL Server:SQL中如何正确认识触发器


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 361 ::
收藏到网摘: n/a

对于初学者对触发器的理解往往不是很透彻,记得自己当初学的时候总有点摸不清头脑的感觉,今天就想起和大家总结一下,如果文章出现些瑕疵请高手多多指教哦!

触发器是数据库服务器中发生事件时自动执行的特殊存储过程,它插入、删除或修改特表中的数据时触发执行。触发器通常可以强制执行一定的业务规则,以保持数据完整性、检查数据有效性、实现数据库管理任务和一些附加的功能。

Sqlserver中一张表可以有多个触发器。用户可以根据INSERTUPDATEDELETE语句对触发器进行设置,也可以对一张表上的特别操作设置多个触发器。触发器可以包含复杂的T-SQL语句。触发器不能通过名称被直接调用,更不允许设置参数。

触发器的特点如下:

(1)       触发器自动执行

 对表中的数据进行修改后,触发器立即被激活。

(2)       可以调用存储过程

 为了实现复杂的数据库更新操作,触发器可以调用一个或多个存储过程,甚至可以通过调用外部过程(不是数据库管理系统本身)完成相应的操作。

(3)       可以强化数据条件约束

触发器能够实现比CHECK约束更为复杂的数据完整性约束。在数据库中为了实现数据完整性约束,可以使用CHECK约束或触发器。CHECK约束不允许引用其他表中的例来完成检查工作,而触发器可以引用其他表中的列,更适合在大型数据库管理系统中用来约束数据的完整性。

(4)       触发器可以禁止或回滚违反引用完整性的更改

触发器可以检测数据内的操作,从而取消数据库未经许可的更新操作,使数据库修改、更新操作更安全,数据库的运行也更稳定。

(5)       级联、并行运行

触发器能够对数据库中的相关表实现级联更改。触发器是基于一个表创建的,但是可以针对多个表进行操作,实现数据库中相关表的级联更改。

(6)       同表多触发器

一个表中可以同时存在3个不同操作的触发器(INSERTUPDATEDELETE)。

   

    对于触发器小编就先和大家分享到这里,希望对大家有所帮助。