Как обновить таблицу SQL Server с помощью обновленной таблицы данных Oracle - PullRequest
0 голосов
/ 25 февраля 2019

Я использую SQL Server (и Oracle в качестве связанного сервера).

В задачу входит обновление таблицы SQL Server с любыми новыми изменениями в столбце NAME в Oracle TABLE.

EMP - это PK, а NAME - это столбец, который можно изменить.

ORACLE TABLE = TABLE1:

EMP                  NAME                
-------------------- --------------------
1                    JOE               
2                    David               
3                    BOB    

SQL SERVER TABLE = TABLE1:

EMP                  NAME                
-------------------- --------------------
1                    JOE               
2                    David               
3                    FRED   

Код, который не работает (запускается и работает безобновление):

 UPDATE OC 
    SET    OC.NAME = MS.NAME
    FROM   OPENQUERY(ORCL12,
      'select EMP, NAME from TEST1') OC 
         INNER JOIN [dbo].[TEST1] MS 
     ON MS.EMP = OC.EMP

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Вы обновляете сервер Oracle OC вместо таблицы SQL Server MS.

UPDATE MS 
    SET    MS.NAME = OC.NAME
    FROM   OPENQUERY(WZ12,
      'select EMP, NAME from Test') OC 
   INNER JOIN [dbo].[TEST1] MS 
     ON OC.EMP = MS.EMP
0 голосов
/ 25 февраля 2019

Спасибо @elizabk, вот ответ.

UPDATE MS 
    SET    MS.NAME = OC.NAME
    FROM   OPENQUERY(WZ12,
      'select EMP, NAME from Test') OC 
   INNER JOIN [dbo].[TEST1] MS 
     ON OC.EMP = MS.EMP

Примечание. Первоначально это была редакция исходного вопроса.Я просто перенес это сюда.@elizabk, если вы хотите опубликовать свой ответ, я его удалю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...