Bonjour à tous,

Je bloque depuis plusieurs heures sur l'actualisation d'une colonne DateModif après un Update sur une table.

J'ai une table où je liste l'ensemble des informations des agents, que je voudrais update si des informations ont changé

Au début j'avais fait ça:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
update  TableCible
set   NumeroContrat=New.NumeroContrat
, AnneeDeNaissance=New.AnneeDeNaissance
, DateModif = getDate()
 
from TableSource New
where TableCible.IdMatricule=New.IdMatricule
Le problème avec ce code est que je me retrouve avec toutes les lignes de la colonne DateMotif qui changent et prennent la valeur GetDate() (alors que je voudrais que seule la ligne actualisée change)

Du coup j'ai voulu tester avec un trigger mais j'obtiens le message d'erreur suivant

Msg*2108, Niveau*15, État*1, Procédure*TriggerUpdate, Ligne*1
Impossible de créer déclencheur sur TableCible, car la cible ne se trouve pas dans la base de données actuelle.
Auriez vous une piste pour m'aider à resoudre ce probleme?


Voici mon code pour le trigger:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
CREATE TRIGGER TriggerUpdate
	ON dbo.TableCible
AFTER UPDATE
AS
BEGIN
	UPDATE Collaborateur
	SET DateModif = GETDATE()
	FROM DWH_dbo.TableCible Collaborateur
	JOIN INSERTED I
	ON I.IdMatricule = Collaborateur.IdMatricule
END
Go
En cherchant sur internet, certain me parle de "droit" pour accèder aux tables que je manipule...
http://www.zoom.fr/phpBB2/probleme-c...urs-t2369.html


Merci