J'ai le schéma suivant:Déclencheur pour mettre à jour les données dans un autre DB
Base de données: test. Table: per_login_user, champ: nom d'utilisateur (PK), mot de passe
Base de données: wavinet. Table: login_user, Champ: nom d'utilisateur (PK), mot de passe
Ce que je veux faire est de créer un déclencheur. Chaque fois qu'un champ password
sur la table per_login_user
dans la base de données test
sont mis à jour, la même valeur sera copiée sur le terrain password
dans le tableau login_user
dans la base wavinet
J'ai creux de recherche Google et trouver cette solution: http://forums.devshed.com/ms-sql-development-95/use-trigger-to-update-data-in-another-db-149985.html
Mais, quand Je lance cette requête:
CREATE TRIGGER trgPasswordUpdater ON dbo.per_login_user
FOR UPDATE
AS
UPDATE wavinet.dbo.login_user
SET password = I.password
FROM inserted I
INNER JOIN
deleted D
ON I.username = D.username
WHERE wavinet.dbo.login_wavinet.password = D.password
le message d'erreur de retour de la requête:
Msg 107, Level 16, State 3, Procedure trgPasswordUpdater, Line 4
The column prefix 'wavinet.dbo.login_wavinet' does not match with a table name or alias name used in the query.
Merci pour la réponse. Honnêtement, je ne comprends pas vraiment T-SQL. Je viens d'obtenir la requête SQL à partir de ce lien et essayer de le modifier. Merci pour l'explication. Et bien sûr, le mot de passe est crypté côté langage de programmation. – Permana