SQL SERVER Trigger de modification
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:
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:
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