轻松掌握设计 Sql Server触发器的原理

1 2 3 4 5 下一页  触发器

1、触发器的 '本质':

触发器是一种特殊的存储过程,它不能被显式地调用,
而是在往表中插入记录、更改记录或者删除记录时,当事件发生时,才被
自动地激活。

2、这样做带来的 '功能':

触发器可以用来对表实施复杂的完整性约束,保持数
据的一致性,当触发器所保护的数据发生改变时,触发器会自动被激活,
响应同时执行一定的操作(对其它相关表的操作),从而保证对数据的不完整
性约束或不正确的修改。

触发器可以查询其它表,同时也可以执行复杂的T-SQL语句。触发器和引
发触发器执行的命令被当作一次事务处理,因此就具备了事务的所有特征。

注意: '事务具备什么特征?在触发器中的作用?'
如果发现引起触发器执行的T-SQL语句执行了一个非法操作,比如关于其它表的
相关性操作,发现数据丢失或需调用的数据不存在,那么就回滚到该事件执行
前的SQL Server数据库状态。

3、触发器的作用:

触发器可以对数据库进行级联修改,这一点刚才已经说过了。

需要说明的是: '触发器和约束的关系和区别'

(1)一般来说,使用约束比使用触发器效率更高。

(2)同时,触发器可以完成比CHECK约束更复杂的限制。
说明:
2.1 与CHECK约束不同,在触发器中可以引用其它的表。
2.2 触发器可以发现改变前后表中数据的不一致,并根据这些不同来进行相应
的操作。
2.3 对于一个表不同的操作(INSERT、UPDATE、DELETE)可以采用不同的触
发器,即使是对相同的语句也可以调用不同的触发器来完成不同的操作。

举例1:在签订一份订单时,货物的库存量应减少。
问?这应用了触发器的什么特征?CHECK约束能解决吗?

举例2:正在进行整理的货物不能下订单。
问?这应用了触发器的什么特征?CHECK约束能解决吗?

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [SQL Server] 的这些文章也感兴趣:

如何运用MSSQL sp自制未公开的加密函数
SQL Server安装sp4补丁报错的解决方法
专家谈SQL Server 2005的CLR
从SQL Server2000升级到2005的过程解析
通过 SQL Server 2005 索引视图提高性能(1)
SQL SERVER应用问题解答13例(三)
Proxy Server和SQL Server在上数据库的安全复制
WEB版的SQL Server 企业管理器
SQL Server 7.0 入门(四)
Microsoft SQL Server 2000 中的位图