如何使用更新的 Oracle table 数据更新 SQL 服务器 table
How to update a SQL Server table with updated Oracle table Data
我正在使用 SQL 服务器(和 Oracle 作为链接服务器)。
该任务涉及使用对 Oracle TABLE.
中列 NAME 的任何新更改来更新 SQL 服务器 table
EMP为PK,NAME为可改列。
甲骨文 TABLE = TABLE1:
EMP NAME
-------------------- --------------------
1 JOE
2 David
3 BOB
SQL 服务器 TABLE = TABLE1:
EMP NAME
-------------------- --------------------
1 JOE
2 David
3 FRED
不工作的代码(运行并运行 w/o 更新):
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
注意:这最初是对原始问题的编辑。我刚把它搬到这里。 @elizabk 如果你想 post 你的回复,我会删除这个。
您正在更新 Oracle 服务器 OC
而不是 SQL 服务器 table 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
我正在使用 SQL 服务器(和 Oracle 作为链接服务器)。
该任务涉及使用对 Oracle TABLE.
中列 NAME 的任何新更改来更新 SQL 服务器 tableEMP为PK,NAME为可改列。
甲骨文 TABLE = TABLE1:
EMP NAME
-------------------- --------------------
1 JOE
2 David
3 BOB
SQL 服务器 TABLE = TABLE1:
EMP NAME
-------------------- --------------------
1 JOE
2 David
3 FRED
不工作的代码(运行并运行 w/o 更新):
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
注意:这最初是对原始问题的编辑。我刚把它搬到这里。 @elizabk 如果你想 post 你的回复,我会删除这个。
您正在更新 Oracle 服务器 OC
而不是 SQL 服务器 table 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