create trigger mytrig on OrderDetail for update as begin update OrderDetail set Toycost = Quantity * ToyRate where 关键字 = (select 关键字 from inserted) endorcreate trigger mytrig on OrderDetail for update as begin update OrderDetail set Toycost = i.Quantity * t.ToyRate from OrderDetail t , inserted i where t.关键字 = i.关键字 end
create trigger mytrig on OrderDetail for update as begin update OrderDetail set Toycost = Toycost + s from ta t , (select 关键字,sum(Quantity * ToyRate) as s inserted group by 关键字)i where t.关键字 = i.关键字 end
--事后触发器 create trigger MyTrigger on OrderDetail AFTER update as begin declare @id int select @id=OrderDetail.GId from OrderDetail,deleted where OrderDetail.GId=deleted.GId and OrderDetail.Quantity<>deleted.Quantity update OrderDetail set ToyRate=Quantity*5(这里的5是指ToyRate) where OrderDetail.GId=@id end --测试语句 update OrderDetail set Quantity=30 where GId=1
as
begin
update OrderDetail set Toycost = Quantity * ToyRate
where 关键字 = (select 关键字 from inserted)
endorcreate trigger mytrig on OrderDetail for update
as
begin
update OrderDetail set Toycost = i.Quantity * t.ToyRate
from OrderDetail t , inserted i
where t.关键字 = i.关键字
end
as
begin
update OrderDetail set Toycost = Toycost + s
from ta t , (select 关键字,sum(Quantity * ToyRate) as s inserted group by 关键字)i
where t.关键字 = i.关键字
end
create trigger MyTrigger
on OrderDetail
AFTER update
as
begin
declare @id int
select @id=OrderDetail.GId from OrderDetail,deleted
where OrderDetail.GId=deleted.GId and OrderDetail.Quantity<>deleted.Quantity
update OrderDetail set ToyRate=Quantity*5(这里的5是指ToyRate) where OrderDetail.GId=@id
end
--测试语句
update OrderDetail set Quantity=30 where GId=1