2013年11月6日
摘要: 在官方文档http://technet.microsoft.com/zh-cn/library/ms181299.aspx中“互操作性”段落中有这么一句:触发器继续执行 ROLLBACK 语句之后的所有其余语句。如果这些语句中的任意语句修改数据,则不回滚这些修改。执行其余的语句不会激发嵌套触发器。其中“执行其余的语句不会激发嵌套触发器”,是否意味着在回滚操作后面的语句如果继续执行的话,后面语句触发的触发器就不会执行了。比如后面的语句有针对一个表的update操作,而这张表又有update的触发器,这个时候update会执行成功,但触发器不会执行? 以下是网友帮忙写的测试用例,结果是触发了嵌套. 阅读全文
posted @ 2013-11-06 17:11 心中无言 阅读(602) 评论(0) 推荐(0) 编辑
摘要: 以下内容根据此官方文档修改:http://technet.microsoft.com/zh-cn/library/ms189336(v=sql.105).aspx嵌套事务的使用场景或者说目的主要是为了调用包含了事务的存储过程。不然没必要使用嵌套事务。下列示例显示了嵌套事务的用途。在TransProc存储过程中包含事务,在另外的代码中分别启动事务调用TransProc和不启动事务调用TransProc。SET QUOTED_IDENTIFIER OFF;GOSET NOCOUNT OFF;GOUSE AdventureWorks2008R2;GOCREATE TABLE TestTrans(Co 阅读全文
posted @ 2013-11-06 16:59 心中无言 阅读(2082) 评论(6) 推荐(1) 编辑