Oracle11g 在不同数据库服务器上的相同表之间复制/追加不匹配数据

Oracle11g 在不同数据库服务器上的相同表之间复制/追加不匹配数据,oracle11g,Oracle11g,继我之前的讨论之后,是否有方法指定将使用同一表上的列名复制的记录的条件?i、 e.我想将沙箱服务器中不存在于生产服务器中的所有列的所有数据从沙箱服务器复制到生产服务器。因此,预期的select查询应该是: SELECT * FROM <Sandbox><TABLE_C> WHERE <Sandbox><TABLE_C>COL_A NOT EXISTS (SELECT <production>COL_A FROM <producti

继我之前的讨论之后,是否有方法指定将使用同一表上的列名复制的记录的条件?i、 e.我想将沙箱服务器中不存在于生产服务器中的所有列的所有数据从沙箱服务器复制到生产服务器。因此,预期的select查询应该是:

SELECT * FROM <Sandbox><TABLE_C> WHERE <Sandbox><TABLE_C>COL_A NOT EXISTS (SELECT <production>COL_A FROM <production>TABLE_C)

i、 e.从沙箱到生产的所有记录,都找不到匹配的列

我不确定Oracle特定的语法,但假设您能够作为链接服务器访问这些记录,则可以使用这些语法-

INSERT INTO TABLE_C@prod_link
SELECT source.*
FROM TABLE_C source
LEFT JOIN TABLE_C@prod_link target
    ON source.COL_A = target.COL_A
WHERE target.COL_A IS NULL
其中prod_link是一个数据库链接

CREATE PUBLIC DATABASE LINK 
  prod_link
CONNECT TO
  remote_username
IDENTIFIED BY 
  mypassword 
USING 'tns_service_name';

我没有运行Oracle实例,我可以在其上尝试此操作,但它应该可以工作

您是否正在尝试像前面的问题一样使用SQL*Plus COPY命令?或者您正在尝试使用数据库链接编写分布式查询?我正在使用Oracle SQL developer我仍然不确定我是否理解。您是否在两个有问题的数据库之间有数据库链接,即创建您试图编写分布式SQL以利用的数据库链接?或者您正在尝试使用SQL*Plus COPY命令?我正在使用SQLPlus COPY命令执行该操作。上面指向我前面查询的链接显示了@Codo使用SQLPlusBy标记的COPY-FROM命令建议的查询,您的意思是使用username1吗/passwd1@PROD? 我在找Syntax非常感谢您提供的信息。我仍然无法使用数据库链接连接到生产服务器。我不确定您示例中的prod_链接是否表示实际的文本、服务名称或主机名。我尝试了所有的排列,但在运行INSERT查询时经常遇到无效的用户名/密码。我已经放弃了通过SQL命令来实现这一点。感谢你的努力!!您是否能够在没有插入的情况下运行SELECT查询?如果查询是从生产环境运行的,并且链接返回到您的沙箱,则可能值得尝试另一种方式。