我有以下架构:触发更新另一个数据库中的数据
数据库:测试。 表: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