我试图将整个列的数据从备份数据库传输到当前生产数据库(早些时候我在生产中毁坏了此列,但更新有误)。我使用MS SQL Server 2005的将列数据从一个数据库传输到另一个
在这个例子中,我试图从DB2.Table1恢复 '列1' 到DB1.Table1:
begin transaction
update [DB1].[dbo].[Table1]
set [DB1].[dbo].[Table1].[Column1] = [DB2].[dbo].[Table1].[Column1]
from [DB1].[dbo].[Table1] db1Alias, [DB2].[dbo].[Table1] db2Alias
where db1Alias.TeamId = db2Alias.TeamId
and db1Alias.IndividualId = db2Alias.IndividualId
commit transaction
对于我这个查询返回:
多部分标识符 “DB2.dbo.Table1.Column1”不能被绑定到 。
任何帮助,将不胜感激。
谢谢!
编辑:
感谢SQL威胁我得到了这个查询运行。谢谢!见下面的固定查询
begin transaction
update db1Alias
set db1Alias.[Column1] = db2Alias.[Column1]
from [DB1].[dbo].[Table1] db1Alias, [DB2].[dbo].[Table1] db2Alias
where db1Alias.TeamId = db2Alias.TeamId
and db1Alias.IndividualId = db2Alias.IndividualId
commit transaction
问题是我没有使用我自己的声明别名在我的更新和设置语句。我甚至都不知道你应该使用别名“。
SQL不从顶部到bottom..for例如FROM在SELECT ...之前运行 – SQLMenace 2010-09-02 00:17:06