从第二个数据库更新表列

Jus*_*eid 1 sql sql-server ssms

我已经按照其他帖子中的示例来实现此目的但是收到以下错误:

FROM子句中的对象"otherDB.dbo.someTable"和"someDB.dbo.someTable"具有相同的公开名称.使用相关名称来区分它们.

这是SQL语句

UPDATE [someDB].[dbo].[someTable]
SET [someDB].[dbo].[someTable].[Name] = [otherDB].[dbo].[someTable].[Name]
FROM [someDB].[dbo].[someTable]
INNER JOIN [otherDB].[dbo].[someTable]
   ON [someDB].[dbo].[someTable].[ID] = [otherDB].[dbo].[someTable].[ID]
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我简单要更新[Name][someBD].[someTable][otherDB].[someTable]

从我在其他类似查询中看到的情况来看,这应该可行,但我想知道我是否需要做一些不同的事情,因为它来自不同的数据库?

任何指针/帮助非常感谢.

Tar*_*ryn 5

你尝试过使用别名吗?

UPDATE db1
SET db1.[Name] = db2.[Name]
FROM [someDB].[dbo].[someTable] db1
INNER JOIN [otherDB].[dbo].[someTable] db2
   ON db1.[ID] = db2.[ID]
Run Code Online (Sandbox Code Playgroud)