在oracle中如何将一个表中所有数据加到另一个表中

在oracle中如何将一个表中所有数据加到另一个表中

1、导出所有:exp 用户名/密码@数据库名称 file=导出文件存放路径及文件名  full=y全部导出eg:exp admin/123456@p2p file=d:\p2p.dmp full=y。

2、使用命令行导出指定的表,不导出全部,使用命令如下: exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2) ,只导出table1和table2两个表的数据。

3、导入dmp类型的文件到oracle数据库使用imp命令。

4、使用plsql导出数据库,也可以导出dmp文件类型的。

5、打开plsql,找到工具->导出表,选择Oracle导出,选择需要导出的表,然后点击输出文件,输入文件名称,点击导出即可。

6、使用plsql导出pde文件类型,具体的操作和导出dmp差不多,只是选择PL/SQL导出,导出文件路径选择,然后导出。

7、需要把创建表的复选框勾选,否则,导入的时候如果数据库没有对应的表结构会报异常。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-07-29
create table newtablename as select * from oldtablename;
INSERT INTO tab2(id,num) SELECT id, num, FROM tab1 WHERE id>12;
如果是全部复制的话 ,这个where 条件可以省略。
其实你简单的而理解后面的select是一个view或者是一个中间表都ok;
只要你知道他们的字段什么的设置都一样就完全可以insert 。条件是他们的字段必须对应本回答被网友采纳
第2个回答  2011-03-15
首先要看两个表的字段是否一致,如果一致的话,就
insert into table1 select * from table2;
如果不一致,还需要分情况处理的:
1、如table1的字段为 id,name,value,而table2的字段为id,name
insert into table1 select id,name,null from table2;//在这里需要给table1的value字段赋值的,先赋空值,不然会出错的
2、如table1的字段为 id,name,而table2的字段为id,name,value
insert into table1 select id,name from table2;
试下吧
第3个回答  推荐于2017-10-14
insert into table1 select * from table2 ;
或者
create table1 as select * from table2 ;本回答被提问者采纳
第4个回答  2011-03-15
create table 表B as select * from 表A;
insert into 表A (select * from 表B);
相似回答