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

MSSQL
详解SQL Server中数据库快照工作原理
VB应用程序访问SQL Server的常用方法
SQL Server特殊磁带备份及恢复设计
基于SQL Server的C/S数据库应用系统
如何实现SQL Server 2005快速Web分页
关于SQL Server数据库中转储设备分析
从外到内提高SQL Server数据库性能
准备SQL Server 2008透明数据加密
快速升级MySQL系统表
解析:在SQL Server下数据库链接的使用
细化解析:SQL Server 2005 数据库镜像
轻松接触SQL Server 2000实例的命名规则
SQL提供的进行数据传输的实用程序—BCP
SQL Server 2000 作数据库服务器的优点
解析:正确的理解SQL Server和XML支持
轻松了解数据库计算机的概念和发展方向
解析SQL Server数据体系和应用程序逻辑
SQL进行排序、分组、统计的10个新技巧
教你怎样打造SQL Server2000的安全策略
解析SQL Server 2005 溢用之:合并列值

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


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

   在触发器的应用中,常会遇到这种情况,即被触发的触发器试图更新与其相关联的原始的目标表,从而使触发器被无限循环地触发。对于该种情况,不同的数据库产品提供了不同的解决方案有些DBMS 对一个触发器的执行过程采取的动作强加了限制,有些DBMS 提供了内嵌功能,允许一个触发器主体对正在进行的触发器所处的嵌套级别,另一些DBMS 提供了一种系统设置,控制是否允许串联的触发器处理,最后一些DBMS 对可能触发的嵌套触发器级别的数目进行限制。在MS SQL Server 中,这种能触发自身的触发器被称为递归触发器。对它的控制是通过限制可能触发的嵌套触发器级别的数目进行限制的,另外,通过是否允许触发嵌套触发器也能实现对它的控制。

    在MS SQL Server 中,除非递归触发器的数据库选项被设置,否则,一个触发器不会被递归触发。有两个类型的递归触发器。
    直接递归:即当一个触发器触发时,执行的动作又引起同一个触发器的触发,例如,某一更新操作引起某一表上的触发器被触发,该触发器又执行更新操作,从而又触发了该触发器;
    间接递归:即当一个触发器触发时,执行的动作又引起另外一个表的触发器被触发,第二个触发器又触发第一个触发器。

    同时触发器也可能和游标一起使用,从而使其功能大大增强。下面我们将给出一个例子,在该例子中。我们使用了游标和递归触发器,希望使读者对触发器有更全面的了解。