trigger: trg_price_update on goods for update as declare @proid char(3) declare @barcode char(3) declare @oldproce number declare @newproce number if update(pirce) begin select @oldprice=oldprice from deleted --得到旧的Oldprice select @proid=proid,@barcode=barcode,@newprice=newprice from inserted insert price_updatelog (proid,barocde,oldprice) valuse (@proid,@barcode,@oldprice,@newprice) end;
//select @oldprice= 如何取得变换前的值; =====> select @oldprice=col from deleted
create trigger trg_price_update on goods for update asif update(price) begin insert price_updatelog (proid,barocde,oldprice) select I.proid ,I.barcode ,D.price ,I.price from deleted D join inserted I on D.proid=I.proid and D.barcode=I.barcode end
for update
as
declare @proid char(3)
declare @barcode char(3)
declare @oldproce number
declare @newproce number
if update(pirce)
begin
select @oldprice=oldprice from deleted --得到旧的Oldprice
select @proid=proid,@barcode=barcode,@newprice=newprice from inserted
insert price_updatelog (proid,barocde,oldprice) valuse (@proid,@barcode,@oldprice,@newprice)
end;
=====>
select @oldprice=col from deleted
on goods
for update
asif update(price)
begin
insert price_updatelog (proid,barocde,oldprice)
select I.proid
,I.barcode
,D.price
,I.price
from deleted D
join inserted I on D.proid=I.proid
and D.barcode=I.barcode
end