我有以下架構:觸發更新另一個數據庫中的數據
數據庫:測試。 表:per_login_user,字段:用戶名(PK),密碼
數據庫:wavinet。 表:login_user,字段:用戶名(PK),密碼
我想要做的是創建一個觸發器。每當數據庫test
上表per_login_user
一個password
場得到更新,相同的值將被複制到現場password
表login_user
數據庫wavinet
我有搜索槽谷歌和發現這個解決方案:http://forums.devshed.com/ms-sql-development-95/use-trigger-to-update-data-in-another-db-149985.html
但是,當我運行此查詢:
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
查詢返回的錯誤信息:
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.
感謝您的回答。老實說,我並不是很瞭解T-SQL。我只是從該鏈接獲取sql查詢並嘗試修改它。感謝您的解釋。當然密碼在編程語言方面是加密的。 – Permana 2010-05-19 04:30:30