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

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
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
 
 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]
Merci pour votre aide