【问题标题】:OPENQUERY update on linked server链接服务器上的 OPENQUERY 更新
【发布时间】:2010-08-06 14:48:36
【问题描述】:

我想通过链接服务器(openquery)执行以下语句:

UPDATE SAP_PLANT 
SET (OWNER, OWNER_COUNTRY) = (SELECT import.AFNAME, import.COUNTRY
                                FROM SAP_IMPORT_CUSTOMERS import, SAP_PLANT plant
                                WHERE plant.SAP_FL = import.SAP_NO
                                AND import.role ='OWNER')

我尝试将其形成以下语法,但没有成功:(

update openquery(‘my_linked_server, ‘select column_1, column_2 from table_schema.table_name where pk = pk_value’)
set column_1 = ‘my_value1′, column_2 = ‘my_value2′

我希望你这没问题?

【问题讨论】:

  • 您是否尝试过在 SELECT 语句中为远程表使用完全限定名称?

标签: sql sql-update linked-server openquery


【解决方案1】:

我猜这并不是你想要打开的查询,而是你想要执行的 SQL 语句。因此,您应该使用执行而不是 openquery。在此处查看示例 G:http://msdn.microsoft.com/en-us/library/ms188332.aspx

所以你的脚本应该是这样的

execute ('your sql command here') at my_linked_server

【讨论】:

  • 注意:确保在链接服务器属性上将RPC Out 设置为True
【解决方案2】:

您是否遇到语法错误? update openquery 中的服务器参数缺少尾随引号。更改```my_linked_servertomy_linked_server'`。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多