【发布时间】:2010-09-01 22:52:14
【问题描述】:
我正在尝试将整个列的数据从备份数据库传输到当前的生产数据库(当天早些时候,我在生产中因更新错误而破坏了此列)。我正在使用 MS SQL Server 2005。
在本例中,我试图将“Column1”从 DB2.Table1 恢复到 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 Menace,我运行了这个查询。谢谢!固定查询见下文
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
问题是我没有在我的更新和设置语句中使用我自己声明的别名。在声明之前,我不知道您应该使用 alias'。
【问题讨论】:
-
sql 不会从上到下运行..例如 FROM 在 SELECT 之前运行...
标签: database sql-server-2005 tsql