外部表簡單總結
當然了外部表的使用都是基於目錄來實現的。外部表呼叫的引擎有兩個,一個oracle_datapump引擎,一個是oracle_loader引擎,在使用中和datapump,sql*loader都是有一定的關聯的。
比如下面的例子。
我們需要匯出emplyees中的資料,就可以使用如下的方式。基本是做資料的匯出的情況比較多。匯出檔案為emp.data
create table hr.ext_emp organization external
(type oracle_datapump
default directory ext_dir
location('emp.data')
)as
select * from hr.employees;
在上面的基礎上,如果我們想根據employees表的salary匯出一個dump檔案emp.data,下面的方式就很有優勢。
create table hr.extp_emp organization external
(type oracle_datapump
default directory ext_dir
location('emp.dmp')
) as select * from hr.employees where salary>10000;
然後我們循序漸進,直接根據得到的dump檔案emp.data來載入為一個全新的外部表。
比如我們需要一個全新的外部表,需要得到emp.data中的資料。可以使用如下的方式。
create table hr.extp2_emp(employee_id number(6),first_name varchar2(20)) organization external
(type oracle_datapump
default directory ext_dir
location('emp.dmp')
) ;
這樣就可以直接從外部表extp2_emp中直接訪問dump emp.data中的資料了。
以上是使用oracle_datapump的一些常用例項。
對於oracle_loader來說,效果相比sql*loader也毫不遜色。資料的載入上也很靈活。
如果我們想得到10g資料庫版本中的資料庫日誌資訊,可以參考下面的方式。
首先得到資料庫日誌的路徑,然後建立對應的目錄結構。然後直接把資料庫日誌檔案以行的形式載入,生成一個只讀的表。日誌中的每一行在資料庫中都是一行記錄。
create directory alert_dir as '/u01/app/oracle/admin/PODD/bdump';
grant read,write on directory alert_dir to hr;
create table hr.alert_log(text varchar2(1000)) organization external
(type oracle_loader
default directory alert_dir
location('alert_PODD.log')
);
如果在實際的應用中可能有更為複雜的情況。
比如我們需要一個只讀表emp_load,來讀取info.dat中的資料,可能對於資料型別的轉換而言。需要做一些額外的轉換工作,oracle_loader就是一個不錯的選擇。
我們要載入Info.dat的資料,要轉換的資料型別等就可以類似下面的例子。
CREATE TABLE hr.emp_load
(employee_number CHAR(5),
employee_dob CHAR(20),
employee_last_name CHAR(20),
employee_first_name CHAR(15),
employee_middle_name CHAR(15),
employee_hire_date DATE)
ORGANIZATION EXTERNAL
(TYPE ORACLE_LOADER
DEFAULT DIRECTORY ext_dir
ACCESS PARAMETERS
(RECORDS DELIMITED BY NEWLINE
FIELDS (employee_number CHAR(2),
employee_dob CHAR(20),
employee_last_name CHAR(18),
employee_first_name CHAR(11),
employee_middle_name CHAR(11),
employee_hire_date CHAR(10) date_format DATE mask "mm/dd/yyyy"
)
)
LOCATION ('info.dat')
);
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8494287/viewspace-1346965/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE_LOADER外部表簡單案例Oracle
- vuex簡單總結Vue
- MySQL簡單總結MySql
- express簡單總結Express
- 列舉簡單總結
- sql注入簡單總結SQL
- Pygame的簡單總結GAM
- Oracle profiles簡單總結Oracle
- js閉包簡單總結JS
- 前端模組化簡單總結前端
- MVC-HtmlHelper簡單總結MVCHTML
- Django ORM的簡單總結DjangoORM
- 簡簡單單的總結,意如生活的平淡
- 資料結構簡單要點總結資料結構
- HTTP/2 特性的簡單總結HTTP
- es6,async簡單總結
- Java基礎集合簡單總結Java
- HTML簡單知識的總結HTML
- C++基礎簡單總結C++
- RediSearch的簡單使用與總結Redis
- 簡單的 Vue.js 表單驗證外掛 (vee-validate) 使用總結Vue.js
- GPU 渲染管線簡單總結(網上資料總結)GPU
- 使用外部表儲存查詢結果
- Hibernate--單表對映總結
- SQL單表查詢語句總結SQL
- Java 新特性總結——簡單實用Java
- Android熱修復簡單總結Android
- 設計模式簡單總結(待完善)設計模式
- 超簡單!正規表示式總結
- Random和Math.random()簡單總結random
- LevelDB的一些簡單總結
- z-index 應用簡單總結Index
- rman的一點簡單總結 1
- Java IO8:IO簡單總結Java
- 關於STL容器的簡單總結
- Flex4 AS3的簡單繫結總結FlexS3
- XXE外部實體注入漏洞總結
- Form 表單提交知識的總結(全)ORM