Sql server 如何使用更新的Oracle表数据更新SQL Server表
我使用的是SQL Server(Oracle作为链接服务器) 此任务涉及使用Oracle表中列名的任何新更改更新SQL Server表 EMP是PK,NAME是可以更改的列 ORACLE表=表1: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
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