偶然看到有人问, 如何将A表导出的dmp文件导入到B表中, 初一看, 的确好象是不行, 其实还是有办法的. 先来建一个测试环境吧!
SQL> create table t_a as select * from tab;
Table created.
SQL> create table t_b as select * from tab where rownum < 1;
Table created.
任务是将T_A表导出的记录导入到T_B表中, 所以我在SYSTEM用户中建了一个同义词.
SQL> create synonym t_a for mydul.t_b;
Synonym created.
接下来的导出和导入命令, 你自已去试试吧.
exp mydul/mydul file=t_a.dmp tables=t_a
imp system/oracle file=t_a.dmp fromuser=mydul touser=system ignore=y
验证一下数据有没有导入进去.
SQL> select count(*) from t_b;
COUNT(*)
----------
17
SQL> select count(*) from t_a;
COUNT(*)
----------
17
Oracle的imp导入数据时, 也只不过是运行Insert语句而已, 向同义词和向表, 它分得清吗?
本文介绍了一种在Oracle数据库中将一张表(A表)的数据通过导出为dmp文件再导入到另一张表(B表)的方法。通过创建同义词并使用exp和imp命令实现跨表数据迁移。
4401

被折叠的 条评论
为什么被折叠?



