ALTER TRIGGER [dbo].[ICStockBill_DEL]
ON [dbo].[ICStockBill]
FOR DELETE
AS
SET NOCOUNT ON
IF EXISTS (SELECT 1 FROM DELETED WHERE FCheckerID <> 0)
BEGIN
ROLLBACK TRAN
RAISERROR('不能删除已经审核的单据!',18,18)
END
ELSE IF EXISTS (SELECT 1 FROM DELETED WHERE FCancellation = 1)
BEGIN
ROLLBACK TRAN
RAISERROR('不能删除已经作废的单据!',18,18)
END
ELSE
DELETE E
FROM ICStockBillEntry E
INNER JOIN deleted D ON E.FInterID = D.FInterID
SQLSERVER触发器中带提示的例子
于 2023-05-15 11:07:20 首次发布
该触发器在ICStockBill表上定义,当尝试删除记录时,会检查删除的记录中是否存在已审核(FCheckerID≠0)或已作废(FCancellation=1)的单据。如果存在,它将回滚事务并抛出错误;否则,将删除ICStockBillEntry表中相关联的记录。
摘要由CSDN通过智能技术生成