Sql server 如何使用更新的Oracle表数据更新SQL Server表

Sql server 如何使用更新的Oracle表数据更新SQL Server表,sql-server,openquery,Sql Server,Openquery,我使用的是SQL Server(Oracle作为链接服务器) 此任务涉及使用Oracle表中列名的任何新更改更新SQL Server表 EMP是PK,NAME是可以更改的列 ORACLE表=表1: EMP NAME -------------------- -------------------- 1 JOE 2 David

我使用的是SQL Server(Oracle作为链接服务器)

此任务涉及使用Oracle表中列名的任何新更改更新SQL Server表

EMP是PK,NAME是可以更改的列

ORACLE表=表1:

EMP                  NAME                
-------------------- --------------------
1                    JOE               
2                    David               
3                    BOB    
EMP                  NAME                
-------------------- --------------------
1                    JOE               
2                    David               
3                    FRED   
SQL SERVER表=表1:

EMP                  NAME                
-------------------- --------------------
1                    JOE               
2                    David               
3                    BOB    
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

感谢@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

注意:这原本是对原始问题的编辑。我刚把它搬到这里@伊丽莎白:如果您想发布您的回复,我将删除此回复。

您正在更新Oracle server
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

您正在更新Oracle server
OC
而不是
MS
。调整了代码,代码正常运行,谢谢!我发布了我的回答,需要接受你的回答。不允许删除已接受的答案@pthfndr2007