当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server数据库技术(78)

MSSQL
SQL2005学习笔记 APPLY 运算符
SQL2005学习笔记 EXCEPT和INTERSECT运算符
SQL2005 学习笔记 窗口函数(OVER)
SQL2005 ROW_NUMER实现分页的两种常用方式
SQL Server中的XML数据进行insert、update、delete
在安装sql2005中或安装后sa用户无法登陆系统解决方法
SQL2005 自动备份的脚本
在SQLServer 2005中编写存储过程
SQL2005 服务器因重装改名后出错的说明
使用c#构造date数据类型
SQLServer2005 批量查询自定义对象脚本
SQLServer2005 Output子句获取刚插入的ID值
SQLServer 设置单词首字母大写
SQLServer ntile获取每组前10%的数据
安装SQL2005提示 找不到任何SQL2005组件的问题解决方案
sql2005开发版 没有任何功能可以安装
超详细的sql2005图解安装全过程
sqlserver2005 安装图解教程
winXP系统安装SQLServer2005开发版具体过程与注意问题
SQLServer 2005系统配置要求官方说明

MSSQL 中的 SQL Server数据库技术(78)


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

  在以上部分我们讨论了触发器的优缺点、工作原理以及创建触发器的具体方法。接下来我们将阐述各种不同复杂程度的触发器的应用。

12.9.1 插入型触发器的应用


12.9.1 插入型触发器的应用



    更新型触发器有两种类型:通常意义上的更新型触发器和用于检查列改变的更新型触发器,这主要是因为更新操作可以涉及到数据项。
通常意义上的更新型触发器;
在前面我们已经提到更新操作包括两个部分,先将需更新的内容从表中删除掉,然后插入新值。因此,更新型触发器同时涉及到删除表。和插入表下面结合具体例子来对其进行讨论。


    在有些更新中,更新的内容并不是整个记录,而仅仅是一列或几列,这时就要用到用于检查列改变的更新型触发器。它与通常意义上的触发器不同之处主要表现在它包括以下保留字:



    在用Transaction_SQL 的CREATE TRIGGER 命令创建触发器那部分我们已经给出上述保留字的具体含义。下面我们将给出两个例子,这两个例子分别用到了IF UPDATE(column) 和IF (COLUMNS_UPDATED()。


   



注意:必须首先删除与表title已建立主外键的各关系,上述触发器才能被触发。




12.9.4 嵌套触发器
    当某一触发器执行时,其能够触发另外一个触发器,这种情况称之为触发器嵌套。在MS SQL Server 中触发器能够嵌套至32 层。如果不需要嵌套触发器,可以通过sp_configure选项来进行设置。

    在执行过程中,如果一个触发器修改某个表,而这个表已经有其它触发器,这时就要使用嵌套触发器。