首页 > Linux操作系统 > Linux操作系统 > 利用数据泵导出查询结果(二)
在ITPUB上看到有人提出这个问题,能否利用数据泵导出一个查询结果。事实上数据泵还真的具有这个功能。
原贴参考:http://www.itpub.net/thread-1313169-1-1.html
这一篇介绍外部表的卸载功能。
利用数据泵导出查询结果(一):http://yangtingkun.itpub.net/post/468/501047
还是上一篇中的测试环境:
SQL> CREATE TABLE T1
2 (ID NUMBER, NAME VARCHAR2(30));
Table created.
SQL> INSERT INTO T1
2 SELECT ROWNUM, TNAME
3 FROM TAB;
66 rows created.
SQL> CREATE TABLE T2
2 (ID NUMBER, NAME VARCHAR2(30));
Table created.
SQL> INSERT INTO T2
2 VALUES (1, 'A');
1 row created.
SQL> INSERT INTO T2
2 VALUES (2, 'B');
1 row created.
SQL> COMMIT;
Commit complete.
上一篇介绍的方法限制条件太严格,这篇给出的方法基本上没有限制条件,可以满足任何查询结果的导出:
SQL> CREATE TABLE T_RESULT
2 (
3 ID,
4 NAME1,
5 NAME2
6 )
7 ORGANIZATION EXTERNAL
8 (
9 TYPE ORACLE_DATAPUMP
10 DEFAULT DIRECTORY D_OUTPUT
11 LOCATION('T_RESULT.DP')
12 )
13 AS SELECT T1.ID, T1.NAME NAME1, T2.NAME NAME2
14 FROM T1, T2
15 WHERE T1.ID = T2.ID;
Table created.
通过建立外部表的方式实现数据泵导出数据。这种方法比先建立一张表,然后利用数据泵导出要方便一些,而且不会占用用户TABLESPACE中的空间。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4227/viewspace-665311/ ,如需转载,请注明出处,否则将追究法律责任。