【发布时间】:2017-06-29 20:10:09
【问题描述】:
我遇到了 AFTER INSERT UPDATE TRIGGER 的问题。测试代码如下。问题是当这个表上的事务启动时,它会回滚。
在网上进行了大量研究后,似乎每个人都认为情况并非如此。无论如何,我缺少服务器端设置吗?
我还将 sp_settriggerorder() 添加到第一个触发器中,最后命名有问题的触发器。
我还注意到,禁用以下触发器可以完成交易。
低于 11 的严重性不是一个选项,因为它会在客户端应用程序中提示一个丑陋的警告,以强制用户“扩展”选择。
严重性 11 到 16 都给我这个问题。
USE [Test]
GO
/****** Object: Trigger [dbo].[co_bln_AfterIup] Script Date: 06/29/2017 14:43:12 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[co_bln_AfterIup]
ON [dbo].[co_bln]
AFTER INSERT,UPDATE
AS
IF 1 = 1
RAISERROR('test error',16,1)
【问题讨论】:
-
我没有关注你。有什么问题?
-
我也很困惑。您是否用此错误替换了实际的触发器查询以进行测试?您确定事务已创建然后回滚,还是可能是更新/插入本身的问题并且 RAISERROR 是一个红鲱鱼?
标签: sql-server sql-server-2008-r2