使用OPENROWSET在远程服务器上运行复杂的更新查询

时间:2016-12-02 21:53:02

标签: sql sql-server tsql

你能帮我完成以下任务。我需要在远程服务器上运行以下查询

UPDATE prod
    SET prod.count = ( SELECT SUM(Inv) FROM cost WHERE pID = prod.ID)
    WHERE (( SELECT COUNT(id) FROM Cost WHERE pID = prod.ID ) > 0)

我曾尝试使用OPENROWSET,但没有足够的使用经验和所有使用OPENROWSET的在线示例,我看到只使用一个表。您能否告诉我如何修改此查询以使用OPENROWSET或任何其他解决方案的想法?

1 个答案:

答案 0 :(得分:0)

您可以使用直接linked serverOPENQUERY (linked_server_name ,'your query')

最好的方法是在目标实例上创建过程,并在链接服务器上仅使用easy exec来运行过程。

exec LinkedServer.TargetDB.TargerSc.NewProcedure

Openrowset用于"打开行集" - 主要访问远程数据,修改远程数据是openquery