[求助]请教一个触发器的问题!
为表“OrderDetails”建立一个触发器,要求表“OrderDetails”订单数量确定后,必须修正Products表中的“库存量”,即现有库存量=原有库存量-订单中的数量, 并以“cfq2”为名保存 一开始做的是这样的:
create trigger cfq2 on dbo.OrderDetails
for insert,update
as
declare @num1 int, @num2 int, @id char(10)
select @num1=数量, @id=产品编号 from [inserted]
if exists(select * from [deleted])
begin
select @num2=数量 from [deleted]
set @num1=@num1-@num2
end
update dbo.Products
set 库存量=库存量-@num1
where 产品编号 = @id
go
但后来考虑到如果删除原有定单的话也应该修改Products表中的“库存量”,即现有库存量=原有库存量+订单中的数量 ,就又做了个删除触发器 :
create trigger cfq2 on dbo.OrderDetails
for delete
as
declare @num1 int
if exists(select 数量 from [deleted])
begin
select @num1=数量 from [deleted]
update Products
set 库存量=库存量 + num1
where Products.产品编号 in (select 产品编号 from [deleted])
end
go
现在的问题是想把这两个结合到一个触发器,应该怎样做呢?
希望知道的人帮忙指点一下!
先谢谢了!!!