我正在尝试将数据从一个数据库更新到另一个数据库。它们位于不同的SQL服务器上,但它们是相同的DB(实时服务器和测试服务器)。我的问题是它似乎不喜欢 - 在我的SQL服务器名称中,我不知道如何解决这个问题。这是查询的结构,似乎唯一的问题是 - 在 - 在Intra-intranet中。
update AdditionalInfo
set UserDefined25 = seredixserver.activem_repacorp_live.additionalinfo.userdefined25
from repa-intranet.activem_repacorp_live.additionalinfo
join seredixserver.activem_repacorp_live.additionalinfo
on repa-intranet.activem_repacorp_live.additionalinfo.ownerid = seredixserver.activem_repacorp_live.additionalinfo.ownerid
答案 0 :(得分:2)
使用显式别名和方括号:
update rai
set UserDefined25 = sai.userdefined25
from [repa-intranet].activem_repacorp_live.additionalinfo rai join
seredixserver.activem_repacorp_live.additionalinfo sai
on rai.ownerid = sai.ownerid;
方括号是不够的,因为additionalinfo
中的update additionalinfo
不明确。两个表都有相同的名称。
另外,别名只会使查询更容易阅读。
答案 1 :(得分:1)
包含-
等字符的数据库名称,表名和列名需要用矩形括号[]
括起来。
请阅读此article on Delimited Identifiers以获取更多信息。