采用触发器处理,未做过红字材料出库单则不可保存
CREATE TRIGGER tr_FHS_Rdrecords32
ON rdrecords32
FOR INSERT
AS
DECLARE @cInvCode NVARCHAR(60); --物料编码
DECLARE @Result INT; --记录数量
SELECT @cInvCode = cInvCode
FROM Inserted
SELECT @Result = COUNT(*)
FROM dbo.rdrecord11
JOIN dbo.rdrecords11
ON rdrecords11.ID = rdrecord11.ID
AND rdrecords11.iQuantity < 0
AND rdrecord11.cPsPcode = @cInvCode
BEGIN
IF (@Result <= 0)
BEGIN
RAISERROR('产品【%s】未进行过退料操作,不可保存!', 16, 1, @cInvCode);
END;
END;