--删除 if exists( select * from dbo.sysobjects where id = OBJECT_ID(N'[dbo].[trig_delete_Ap_CloseBill_extradefine]') and OBJECTPROPERTY(id,N'IsTrigger')=1) drop TRIGGER trig_delete_Ap_CloseBill_extradefine go CREATE TRIGGER trig_delete_Ap_CloseBill_extradefine ON Ap_CloseBill_extradefine AFTER delete AS BEGIN --红字收款单扩展自定义项26,可以联查到源收款单 if exists(select b.chdefine26 from Ap_CloseBill a inner join deleted b on a.iID = b.iID where a.cVouchType = '49' and exists (select 1 from Ap_CloseBill c where c.cVouchID = b.chdefine26 and c.cVouchType = '48')) begin --红字收款单扩展自定义项25,无法联查到蓝字收款单 if exists(select b.chdefine25 from Ap_CloseBill a inner join deleted b on a.iID = b.iID where a.cVouchType = '49' and not exists (select 1 from Ap_CloseBill c where c.cVouchID = b.chdefine25 and c.cVouchType = '48')) begin --回写来源收款单,累计转定金金额(表头自定义项16),可转定金余额(表头自定义项7) update Ap_CloseBill set cDefine16 =ISNULL(cdefine16,0)-b.iAmount, cDefine7 =ISNULL(cdefine7,0)+b.iAmount from Ap_CloseBill a inner join ( select iAmount ,b.chdefine26 from Ap_CloseBill a inner join deleted b on a.iID = b.iID where cVouchType = '49') b on a.cVouchID = b.chdefine26 and a.cVouchType='48' end else begin DECLARE @cvoucherid NVARCHAR(120) select @cvoucherid = b.chdefine25 from Ap_CloseBill a inner join deleted b on a.iID = b.iID where a.cVouchType = '49' and exists (select 1 from Ap_CloseBill c where c.cVouchID = b.chdefine25 and c.cVouchType = '48') DECLARE @msg NVARCHAR(50) SET @msg='请先删除蓝字收款单'+@cvoucherid RAISERROR(@msg,16,1) ROLLBACK end end End go
标签:触发器,iID,cVouchType,CloseBill,Ap,select,where,模板 From: https://www.cnblogs.com/birdGe/p/17275836.html