22,209
社区成员
发帖
与我相关
我的任务
分享
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER change_amount
ON record
instead of insert
AS
IF NOT EXISTS (
SELECT amount
FROM hardware
WHERE name IN (SELECT name FROM INSERTED)
)
BEGIN
--返回错误提示
RAISERROR('错误!库存表中不存在此物。',16,1)
--回滚事务
ROLLBACK
RETURN
END
DECLARE @name nchar(10)
SET @name = (SELECT name FROM INSERTED)
DECLARE @amount float
SET @amount = (SELECT amount FROM INSERTED)
DECLARE @outin int
SET @outin = (SELECT outin FROM INSERTED)
if(@outin=1)
UPDATE hardware
SET amount = amount + @amount
WHERE name = @name
else
UPDATE hardware
SET amount = amount - @amount
WHERE name = @name