Bonjour, j'ai un trigger qui rempli une table TAB_LOG, lorsque l'utilisateur fait une modification sur une table UTILISATEUR.
Le but c'est de récuperer les anciennes valeurs et les nouvelles valeurs de la table UTILISATEUR ainsi l'utilisateur qui a fait la modification.
OLD_VALUE la valeur avant la modification
NEW_VALUE la valeur modifiée
Pour les autres colonnes le trigger semble bien fonctionnel mais lorsqu'on fait une modification sur une colonne CIV_CIVILITE qui est une colonne d'une autre table on a l'erreur
Msg*208, Niveau*16, État*1, Procédure*TRG_UPDATE, Ligne*15
Invalid object name 'updated'.
code du trigger
CIV_CIVILITE est le clé secondaire de la table UTILISATEUR, provenant du table CIVILITE ci dessous
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 CREATE TRIGGER [TRG_UPDATE] ON [UTILISATEUR] FOR UPDATE AS BEGIN SET NOCOUNT ON DECLARE @Matricule varchar(10), @Nom varchar(100), @Prenom varchar(100) -- Extrait code trigger INSERT INTO TAB_LOG (CHAMP,TAB,OLD_VALUE,NEW_VALUE,DATE_MOD,USER_MOD,TYPE,ID_VALUE) SELECT 'CIV_CIVILITE','UTILISATEUR', d.CIV_CIVILITE, i.CIV_CIVILITE, getdate(),d.USER_UPD, 'M',d.ID FROM updated i, deleted d where d.CIV_CIVILITE<>i.CIV_CIVILITE -- Extrait code trigger END
Merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CREATE TABLE [dbo].[CIVILITE]( [CIV_CIVILITE] [DOM_CLASS] NOT NULL, [CIV_LIBELLE] [DOM_LIBELLE] NULL, CONSTRAINT [PK_PA_CIVILITE_CIV] PRIMARY KEY NONCLUSTERED ( [CIV_CIVILITE] ASC ) ON [PRIMARY] ) ON [PRIMARY]
Partager