Comment faire un trigger after update multiple
Salut a tous j'essaie de faire un trigger qui va géré des update multiple mais ca fonctionne pas voici mon code
Mais ca fonctionne si je fais seulement un update a la fois
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| create trigger trgAfterUpdateProduitPrixMultiligne
on Produits
after update
as
declare @prix decimal(10,2)
declare @newPrix decimal(10,2)
declare @diff decimal(10,2)
declare @descProduit varchar(50)
set @descProduit=(select DescProduit from inserted)
set @newPrix=(select PrixVente from inserted)
set @prix=(select PrixVente from deleted)
set @diff = (@newPrix-@prix)/@prix *100
if @diff >10
begin
rollback
raiserror('L''augmentation est plus que 10 pourcent donc le prix a ete augmenter seulement de 10 pourcent ',16,1)
set @newPrix = (@prix * 0.1) + @prix
update Produits set PrixVente=@newPrix where DescProduit=@descProduit
end
if @diff < -10
begin
rollback
raiserror('La diminution est plus que 10 pourcent donc le prix a ete diminué seulement de 10 pourcent ',16,1)
set @newPrix = @prix-(@prix * 0.1)
update Produits set PrixVente=@newPrix where DescProduit=@descProduit
end
go
--test
Update Produits set PrixVente = 7.00 where PrixVente > 5.00 |