易飞委外单价人为改动而怪系统的触发

几次的委外单价对不上,人为选了历史单据而操作员不承认,避免类似错误出现写一触发器

 

ALTER trigger testmocdj on MOCTA AFTER UPDATE
AS 
BEGIN 
DECLARE @PH VARCHAR(60)
DECLARE @DJ NUMERIC(18,8)
DECLARE @DJX NUMERIC(18,8)
DECLARE @VENDOR VARCHAR(20)
DECLARE @SHM VARCHAR(2)
SELECT @PH=TA006,@DJ=TA022,@VENDOR=TA032,@SHM=TA013 FROM inserted WHERE TA030='2'
SET @DJX=(SELECT TOP 1  MA005 from MOCMA where MA001=@PH AND MA003=@VENDOR order by  MA013 DESC)
IF (@SHM='Y') AND (@DJX<>@DJ)

        BEGIN
        RAISERROR('核对价格是否为最新的或者单价为0',16,1)
        ROLLBACK
        END

END