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

MSSQL
SQL0290N表空间状态问题:停顿的独占处理
实例讲解启动mysql server失败的解决方法
SQL Server 2005数据转换服务设计问题集锦
不能安装SQL Server 2005的问题及解决方法
SQL中Groupby和Having的使用方法
SQL Server中Update的用法
MSSQL中部分字段重复数据的删除方法
mssql 大小写区分方法
Sql server中时间查询的一个比较快的语句
机器异常关闭重起后出现ora-19809错误
快速解决日志文件满造成的无法写入问题
启用数据库复制时为什么会出现18483错误
实例讲解Ora-12514和Ora-12514解决方法
实例讲解MSDB数据库置疑状态的解决方法
实例讲解SQL查询连续号码段的巧妙解法
用一个案例讲解应用程序越来越慢的原因
一则DB2数据库重定向表空间的恢复案例
SCN不一致将会导致ORA-00600 2662错误
Vista下安装SQL Sever 2005报错的解决办法
用一条SQL实现:一行多个字段数据的最大值

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


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

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

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

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

触发器的特点如下:

(1)       触发器自动执行

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

(2)       可以调用存储过程

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

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

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

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

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

(5)       级联、并行运行

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

(6)       同表多触发器

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

   

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