首页 > 解决方案 > 如何使用 ORACLE SQL 从另一个实例中的同一个表中插入数据

问题描述

需要您建议使用 ORACLE SQL 从另一个实例中的同一表中插入数据,但我有不同的情况,如下所述。

我们有两个实例A和B,两个实例中都存在表Test,结构相同,但是实例A中的表没有任何数据,而实例B中的表有一些数据。我们想将数据从实例 B复制到实例 A,但是实例 A的 ID 应该使用ID A11填充,而不是使用实例 B表中的 id 。请注意:我们要在将数据插入到实例 A 中的表时更新这个时间,而不是在那之后。

**Instance A**                  **Instance B**
Table Test                   Table Test                         
ID  column1 column2       ID    column1   column2       
                          A12   500        600              
                          A12   500        600               
                          A12   700        750               
                          A12   500        600      
                          A12   500        600  

从实例 B复制数据后,实例 A中的结果应如下所示

ID   column1    column2
A11  500          600
A11  500          600
A11  700          750
A11  500          600
A11  500          600

请让我们知道如何继续实现这一目标。我们将非常感谢您对此的投入。

上面给出的表格的表格结构更清晰

标签: sqloracle

解决方案


什么叫“实例”?它是同一个数据库中的不同用户吗?不同的数据库?还有什么?

如果是前者,用户 A 应该将 INSERT 授予用户 B,并且 - 以 B 身份连接 - 你会

insert into a.test (id, column1, column2)
select 'A11', column1, column2
from test;

如果是后者,您将创建一个从 B 到 A 的数据库链接,并且(连接为 B)

insert into test@dbl_a (id, column1, column2)
select 'A11', column1, column2
from test;

如果以上都不是,答案可能取决于“实例”是什么。


推荐阅读