在查询分析器里可以,在程序运行不行
CREATE TRIGGER ICStockBill_transfer ON [dbo].[ICStockBill]
FOR UPDATE
AS
--审核时自动生成调拨单
declare @FOldStatus int ,@fstatus int,@finterid int
select @FOldStatus=fstatus,@finterid=finterid from deleted--修改前
select @fstatus=fstatus from inserted --修改后
if @FOldStatus<>@fstatus--如果修改前后发生变化
begin
if @FOldStatus=0 --修改改无数据为审核 ,修改前有数据为反审核
begin
--审核时 如有定义不合单据
select @finterid=finterid from deleted--修改前
if exists(select fentryselfa0235 from icstockbill a,icstockbillentry b where a.finterid=b.finterid and b.fentryselfa0235='FFF' and a.finterid=@finterid)
exec kd_InsertTransfer @finterid
end
else
begin
--反审核时
if exists(select finterid from icstockbillentry where finterid =@finterid and finterid*1000+Fentryid in
(select fentryselfd0127*1000+fentryselfd0128 from icstockbill a,icstockbillentry b where a.finterid=b.finterid and a.ftrantype=41))
BEGIN
RAISERROR('已生成调拨单,反审核前先删除此单!',18,18)
return
END
end
end
--问题
不执行RAISERROR('已生成调拨单,反审核前先删除此单!',18,18)