我在创建SQL语句时遇到了困难。我忘记了测试数据库中的密码,我需要用来自不同测试数据库的已知密码替换它。密码存储为二进制文件,因此我似乎无法右键单击它进行复制和粘贴,因此我尝试编写SQL语句。不幸的是,虽然我可以弄清楚如何从一个数据库向另一个数据库插入一行,并将一个单元格从一个表复制到另一个表,但我似乎无法将单元格从一个数据库转移到另一个数据库。
因此,我想要做的就是这样:
use TestDb1
GO
UPDATE TestDb1.[Staff].[User] (Password)
{
SELECT TestDb2.[Staff].[User].Password
FROM TestDb2.[Staff].[User]
WHERE UserName = 'admin'
}
WHERE UserName = 'admin'
我知道,这甚至不接近正确,但我想如果我接近我就不会真的需要帮助。
答案 0 :(得分:2)
带有连接的UPDATES的ANSI SQL语法可能会让人感到困惑(因此我第一次犯了错误让人感到困惑:)):
UPDATE u1
Set u1.Password = u2.Password
from TestDb1.[Staff].[User] u1
join TestDb2.[Staff].[User] u2 on u2.UserName = u1.UserName
WHERE u2.UserName = 'admin'
[SQLFiddle显示针对同一个表的语法。]