利用資料泵匯出查詢結果(二)

yangtingkun發表於2010-06-14

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部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-665311/,如需轉載,請註明出處,否則將追究法律責任。

相關文章