1

リンクサーバー(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′

これで問題ないことを願っていますか?

4

2 に答える 2

5

これは実際には開きたいクエリではなく、実行したいSQLステートメントだと思います。したがって、openqueryの代わりに、executeを使用する必要があります。ここで例Gを参照してください:http://msdn.microsoft.com/en-us/library/ms188332.aspx

したがって、スクリプトは次のようになります。

execute ('your sql command here') at my_linked_server
于 2012-05-06T19:10:40.443 に答える
1

構文エラーが発生していますか? のサーバー パラメータにupdate openquery末尾の引用符がありません。「my_linked_server tomy_linked_server」を変更します。

于 2010-08-06T17:01:08.817 に答える