我正在尝试编写一个使用本地服务器和链接服务器(amazon web服务sql server)的更新查询。我需要使用表别名,以便将我的语句截断为4个面额或更少,例如[Server]。[Database]。[TableAlias]。[Column]而不是[Server]。[Database]。[Owner]。 [表]。[列]以便可以绑定多部分标识符。
这是我尝试使用表别名的更新查询:
UPDATE [Amazon IP].[AmazonDatabase].dbo.InkVials
SET InkRequestID = Local_Database.dbo.TasksInkRequests.InkRequestID
FROM Local_Database.dbo.TasksInkRequests
WHERE [Amazon IP].[AmazonDatabase].dbo.InkVials.InkRequestID = Local_Database.dbo.TasksInkRequests.JobRequestID
AND [Amazon IP].[AmazonDatabase].dbo.InkVials.Processing = 1;
我尝试了多种方法,但似乎并没有做得对。
答案 0 :(得分:1)
这通常是使用表别名来使用连接表进行更新的方式:
UPDATE i
SET InkRequestID = r.InkRequestID
FROM [Amazon IP].[AmazonDatabase].dbo.InkVials i
INNER JOIN Local_Database.dbo.TasksInkRequests r
ON i.InkRequestID = r.JobRequestID
WHERE i.Processing = 1;