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 : Sélectionner tout - Visualiser dans une fenêtre à part
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