OPENQUERY обновление на связанном сервере - PullRequest
1 голос
/ 06 августа 2010

Я хочу выполнить следующую инструкцию через связанный сервер (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′

Надеюсь, для вас это не проблема?

Ответы [ 2 ]

4 голосов
/ 06 мая 2012

Полагаю, это не тот запрос, который вы хотите открыть, а оператор SQL, который вы хотите выполнить.Поэтому вместо openquery вы должны использовать execute.Смотрите пример G здесь: http://msdn.microsoft.com/en-us/library/ms188332.aspx

Итак, ваш сценарий должен выглядеть так:

1 голос
/ 06 августа 2010

Вы получаете синтаксическую ошибку? В параметре вашего сервера в update openquery отсутствует завершающая кавычка. Измените `` `my_linked_server to my_linked_server'`.

...