Bonjour, j'ai une table qui intervient dans plusieurs procédures et j'aimerai pour un cas particulier savoir laquelle des procédure fait la modification en question.
Pour cela j'ai mis le trigger suivant sur la table en question
create TRIGGER PRHTR_U_JOURIND
ON THETABLE
FOR UPDATE
as
Insert into THETABLELOG (CHAMPS1, CHAMPS2, CHAMPS3, CHAMPS2_AVANT, CHAMPS3_AVANT)
select i.CHAMPS1, i.CHAMPS2, i.CHAMPS3, d.CHAMPS2, d.CHAMPS3
FROM inserted i, deleted d
where i.CHAMPS1 = d.CHAMPS1
and not i.CHAMPS2 is null
and not d.CHAMPS2 is null
GO
Avec THETABLELOG :
CREATE TABLE dbo.THETABLELOG (
CLESYSTEME int IDENTITY(1,1) not null,
CHAMPS1 int NOT NULL,
CHAMPS2 int NOT NULL,
CHAMPS3 int NULL,
CHAMPS2_AVANT int NULL,
CHAMPS3_AVANT int NULL,
dateaction datetime default CURRENT_TIMESTAMP,
application varchar(100) default APP_NAME(),
utilisateur varchar(100) default CURRENT_USER,
CONSTRAINT THETABLELOG _PK PRIMARY KEY CLUSTERED (CLESYSTEME, CHAMPS1)
)
GO
Mon problème est que je n'arrive pas à moucharder l'id de la procédure qui déclenche mon trigger. Si j'utilise @@PROCID, il me renvoie logiquement l'Id de mon trigger.
Une idée?
Partager