存储过程里面有UPDATE ICStockBill SET FUUID=NEWID() WHERE FInterID= @FWRInterID
update t_BOSWJRK set FCreateBillIsOrNo = 1 where FBillNo = @FBillNo
update ICStockBill set FStatus = 1 where FTranType = 1 and FInterID = @FWRInterID
等等类似的语句。
我在SQL服务器调试此存储过程至以上的语句们时,它们都自动会转到我写的触发器中,从而导致这些SQL语句未更新成功,触发器如下:CREATE TRIGGER StopUnMultiCheck
ON ICStockBill
FOR UPDATE
AS
SET NOCOUNT ON
IF exists
(select 'true'
from ICStockBillEntry i join Inserted i1 on i.finterid = i1.finterid
join t_BOSWJRK t on i.FSourceInterid = t.fid and i.FSourceBillNo = t.FBillNo and i.FSourceTranType = t.FClassTypeID and i1.FTranType = 1 and i1.FStatus < 1 and t.FAuditinger<>0 )
BEGIN ROLLBACK TRAN
RAISERROR ('不能反审核此单据,它已经关联文具入库单' , 16, 10)END
请问我该如何解决此问题,即要让存储过程的SQL语句更新成功,也必须让这个触发器存在才行。
update t_BOSWJRK set FCreateBillIsOrNo = 1 where FBillNo = @FBillNo
update ICStockBill set FStatus = 1 where FTranType = 1 and FInterID = @FWRInterID
等等类似的语句。
我在SQL服务器调试此存储过程至以上的语句们时,它们都自动会转到我写的触发器中,从而导致这些SQL语句未更新成功,触发器如下:CREATE TRIGGER StopUnMultiCheck
ON ICStockBill
FOR UPDATE
AS
SET NOCOUNT ON
IF exists
(select 'true'
from ICStockBillEntry i join Inserted i1 on i.finterid = i1.finterid
join t_BOSWJRK t on i.FSourceInterid = t.fid and i.FSourceBillNo = t.FBillNo and i.FSourceTranType = t.FClassTypeID and i1.FTranType = 1 and i1.FStatus < 1 and t.FAuditinger<>0 )
BEGIN ROLLBACK TRAN
RAISERROR ('不能反审核此单据,它已经关联文具入库单' , 16, 10)END
请问我该如何解决此问题,即要让存储过程的SQL语句更新成功,也必须让这个触发器存在才行。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货