34,836
社区成员




--测试数据
if not object_id(N'出库表') is null
drop table 出库表
Go
Create table 出库表([ID] int,[品名] NVARCHAR(100),[产品ID] NVARCHAR(100),[出库数量] int)
GO
if not object_id(N'库存表') is null
drop table 库存表
Go
Create table 库存表([产品ID] int,[品名] int,[库存量] int)
Insert 库存表
select 1,1,10 union all
select 2,2,30
Go
--测试数据结束
CREATE TRIGGER test_tri ON 出库表 FOR INSERT
AS
UPDATE 库存表
SET 库存量 = 库存量 - Inserted.出库数量
FROM Inserted
WHERE 库存表.产品ID = Inserted.产品ID;
INSERT INTO 出库表
(
ID,
品名,
产品ID,
出库数量
)
VALUES
( 1, -- ID - int
N'1', -- 品名 - nvarchar(100)
N'1', -- 产品ID - nvarchar(100)
8 -- 出库数量 - int
)
SELECT * FROM 库存表
CREATE TRIGGER test_tri ON 出库表 FOR INSERT
AS
UPDATE 库存表
SET 库存量 = 库存量 - Inserted.出库数量
FROM Inserted
WHERE 库存表.产品ID = Inserted.产品ID;
create trigger trigger_name on 出库表 for insert as
update 库存表
set 库存量=B.库存量-A.出库数量
from inserted A
join 库存表 B on A.产品ID=B.产品ID