Bonjour
J'ai créé un trigger pour logger tous les updates sur une table
Mais le code ci-apres en raison du inner join ne traite ni les insert ni les delete, je dois adapter le code pour cela
Ma question est la suivante :
Afin de d'avoir la la meilleure performance,
- Ai-je intéret a creer 3 Trigger distinct pour Insert, Update, Delete et utiliser le code ci apres uniquement pour un AFTER UPDATE
- ou bien completer mon trigger actuel en ajoutant un AFTER Delete et ajouter aussi le code nécessaire pour traiter correctement l'Insert et le Delete
Instinctivement cela semble un peu lourd et je pencherais pour trois trigger distinct ?
Merci de votre aide
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 [dbo].[ProgramModelPriceChanged] ON [dbo].[ProgramModelPrice] AFTER INSERT,UPDATE AS BEGIN SET NOCOUNT ON; BEGIN INSERT INTO [dbo].[ProgramModelPriceModification] ( PrgCode ,HRK ,OldPrgPrice ,NewPrgPrice ,OldPrice ,NewPrice ,DateUPD ,who ) SELECT a.PrgCode, a.HRK, b.PrgPrice AS OldPrgPrice, a.PrgPrice AS NewPrgPrice, b.NewPrice AS OldPrice, a.NewPrice AS NewPrice, getdate(), a.who from inserted a INNER JOIN deleted b ON a.pkid=b.pkid END END
Partager