Bonjour,

J'ai deux tables :
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
 
Create table [TBL_PERSONNE]
(
	[PK_PERSONNE] Integer NOT NULL, UNIQUE ([PK_PERSONNE]),
	[VCH_NOM] Varchar(96) NOT NULL,
	[VCH_PRENOM] Varchar(64) NULL,
	/* ... */
	[USR_CREATE] Integer NOT NULL,
	[USR_UPDATE] Integer NULL,
	[USR_DELETE] Integer NULL,
	[DTE_CREATE] Char(8) NOT NULL,
	[DTE_UPDATE] Char(8) NULL,
	[DTE_DELETE] Char(8) NULL
) 
go
 
Create table [TBL_UTILISATEUR]
(
	[PK_UTILISATEUR] Integer NOT NULL, UNIQUE ([PK_UTILISATEUR]),
	[FK_TYPUTIL] Integer NOT NULL,
	[FK_PERSONNE] Integer NOT NULL, UNIQUE ([FK_PERSONNE]),
	[VCH_LOGIN] Varchar(20) NOT NULL, UNIQUE ([VCH_LOGIN]),
	[VCH_MDP] Varchar(50) NOT NULL, UNIQUE ([VCH_MDP]),
	/* ... */
) 
go
Je voudrai, dans mon trigger d'insertion sur TBL_PERSONNE, mettre à jour la date et l'utilisateur qui ont effectué la modification.

Je n'ai pas eu de problèmes pour la date :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
create trigger TRG_PERSONNE_INS on TBL_PERSONNE for insert as
begin
	/* création à la date du jour */
	UPDATE TBL_PERSONNE
	set TBL_PERSONNE.DTE_CREATE = (select convert(char(8), getdate(), 112))
	where TBL_PERSONNE.PK_PERSONNE in (select INSERTED.PK_PERSONNE from INSERTED)
end
Par contre, je ne sais pas comment récupérer l'utilisateur qui est connecté (sachant que l'utilisateur connecté à la base utilise le même login que celui dans l'application : VCH_LOGIN, ce qui me permettra de retrouver le PK_UTILISATEUR dont j'ai besoin). Bref, voilà une question tout simple à laquelle je n'ai pas la réponse :
Comment savoir quel est l'utilisateur qui effectue une operation ?

Merci d'avance pour l'aide :o)