如何将一个模式表中的数据插入另一个模式表?

时间:2014-01-23 09:59:27

标签: oracle

我有两种不同的模式。每个模式包含不同的表。例如,a是schema1中的表,b是schema2中的表。现在我想将表格数据插入表格b(schema2)。

3 个答案:

答案 0 :(得分:3)

登录有权访问架构和运行插入命令的用户,如

INSERT INTO schema1.table_name 
     SELECT * FROM schema2.table_name;

假设两个模式中的表都相同。

答案 1 :(得分:3)

schema1需要schema2中表的权限

connect schema2

grant select , insert on b to schema1;

然后

connect schema1

insert into schema2.b select * from a;

或创建同义词

create synonym b for schema2.b;

insert into b select * from a;

答案 2 :(得分:0)

为了在任何数据库中插入其他模式。 首先需要创建表。 下面的查询将帮助您构建数据并将其从一个模式复制到另一个模式。

下面将仅创建表DDL。

创建表Destinationschemaname.tablename  AS SELECT * FROM sourceschemaname.tablename其中1 = 2;

然后DML 插入Destinationschemaname.tablename 选择* FROM sourceschemaname.tablename;

                  (OR)

下面将复制完整的表DDL和DML 创建表Destinationschemaname.tablename 如选择* FROM sourceschemaname.tablename;