我在主机服务器上设置了链接服务器:“MyLinkedServer” 我的服务器“HostServer”上有一个SP。
我在HostServer上调用存储过程,它使用MyLinkedServer上DatabaseB中的表更新MyLinkedServer上DatabaseA中的表。
我有其他SP在同一场景中正常运行,但它们正在进行插入和删除,但是这个SP无法更新DatabaseA中的表(没有返回错误,只是没有更改数据),如果我将连接更改为实际上在“MyLinkedServer”上运行SP它没有问题。
UPDATE MyLinkedServer.DataBaseA.dbo.MyTable
SET Column1 = db2.Column1
FROM MyLinkedServer.DataBaseA.dbo.MyTable db1
INNER JOIN
(
SELECT TOP 1 Column1
FROM MyLinkedServer.DataBaseB.dbo.MyTable db2
WHERE db2.Id = 2
) AS db2 ON db2.Id = 2
WHERE db1.Id = 1
答案 0 :(得分:0)
我相信你需要引用你在from语句中引用的别名。改变
UPDATE MyLinkedServer.DataBaseA.dbo.MyTable
到
UPDATE db2
解决您的问题?