create TRIGGER [GF_BOM删除记录]
ON [dbo].[t_bomdeleted]
FOR update
AS
SET ANSI_WARNINGS OFF
declare @FID int,@FMultiCheckStatus int,@FOldStatus int
select @FID = FID,@FMultiCheckStatus = FMultiCheckStatus from inserted
select @FOldStatus = FMultiCheckStatus from deleted
if update (FMultiCheckStatus) and @FOldStatus = 4 and @FMultiCheckStatus = 16 --单据审核时
begin
delete from icbomchild
where
finterid in (select b.finterid from t_bomdeleted t1
inner join t_bomdeletedentry t2 on t1.fid = t2.fid
inner join icbomchild b on t2.fid_src = b.finterid and t2.fitemid = b.fitemid
where t1.fid = @FID)
and
fitemid in (select b.fitemid from t_bomdeleted t1
inner join t_bomdeletedentry t2 on t1.fid = t2.fid
inner join icbomchild b on t2.fid_src = b.finterid and t2.fitemid = b.fitemid
where t1.fid = @FID)
end