将一个单元格从一个数据库复制到另一个

时间:2014-06-27 00:23:57

标签: sql sql-server tsql

我在创建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'

我知道,这甚至不接近正确,但我想如果我接近我就不会真的需要帮助。

1 个答案:

答案 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显示针对同一个表的语法。]