当前位置: 首页 > 面试题库 >

从触发器回滚事务

翟嘉志
2023-03-14
问题内容

在MS SQL Server 2008
R2中,我们需要一个预插入和预更新触发器,该触发器可以检查某些内容并允许(或通过raiserror)回滚正在运行的插入/更新。

问题INSTEAD OF触发。是否真的需要显式地编写插入或更新?因为我们希望完成默认的插入或更新操作,所以仅执行“预检查”。


问题答案:

是的。

您确实需要编写显式INSERTUPDATE

触发器运行INSTEAD OFDML操作。如果将触发器留为空白,则除了INSERTED/DELETED表将在创建和填充中/之外,将不会执行任何其他操作tempdb

尽管从评论中的讨论来看,我根本不会使用触发器,而是使用唯一的过滤索引CREATE UNIQUE INDEX ix ON T(a,b,c) WHERE c <> ''。在处理并发时,这可能会提高性能,并避免潜在的逻辑问题。



 类似资料:
  • 问题内容: 我在EJB3无状态会话Bean中使用CMT。另外,我还创建了自己的具有注释“ @ApplicationException(rollback = true)”的异常。 要回滚事务时是否必须使用“ context.setRollbackOnly()”? 我可以通过在bean的public方法内抛出异常来回滚事务吗? 如果是这样(对Q#2的回答是“是”),我是否必须通过在方法中声明异常来将异

  • 问题内容: 我的整个项目都使用(Bluebird)Promises,但是有一个使用EventEmitter的特定库。 我想要实现以下目标: 我在Promises链中读了EventEmitter的答案。这给了我一种执行’connect’事件的回调的方法。这是我到目前为止所到之处 现在如何进一步链接“ eventB”? 问题答案: 我假设您想为每个事件做不同的事情。即使由的动作触发,您也可以将其视为另

  • 使用mui.trigger()方法可以动态触发特定DOM元素上的事件。 .trigger( element , event , data ) element Type: Element 触发事件的DOM元素 event Type: String 事件名字,例如:'tap'、'swipeleft' data Type: Object 需要传递给事件的业务参数 示例 自动触发按钮的点击事件: var

  • 问题内容: 我陷入了问题。我有一个用于无限滚动的指令,可在其中监听事件。问题是,仅在我绑定到时才触发滚动事件: 有人知道如何解决这个问题吗? 我的指令: 我的看法: 问题答案: 我在这里为您创建了一个小提琴:http : //jsfiddle.net/ADukg/4831/ 有趣的是,我使用了确切的代码,而且一切似乎都可以正常触发(请参阅所有乱码)。我怀疑您的问题与您的CSS样式有关,因为如果没有

  • 我正在使用spring-test运行JUnit测试,我的代码如下所示 我的问题是我希望我的测试不影响其他测试。所以我想为每个测试创建一些类似回滚的东西。我为此找了很多,但到目前为止一无所获。我使用Hibernate和MySql来实现这个

  • -ZJ 以下是我在Application.Properties中的数据源设置: