oracle外部表的使用
該執行緒包含一些使用外部表的有用技巧。
使用外部表
1.將表指向外部檔案。 如果外部檔案中的資料被更改,則表中的資料也將發生變化。
2.外部表可以按照與聯接,檢視中的標準表相同的方式進行查詢...並可以使用外部表上的所有型別的功能。
3.獲取有關外部表的資訊,查詢「 user_external_tables」資料字典檢視。
4.「 user_external_tables」不顯示該錶要指向的外部檔案的名稱。對於此查詢「 user_external_locations」
5.使用者不能在外部表上執行任何「 dml」操作。
6.外部表無法顯示。
7,不能在外部表上指定約束,即使不是非null或外來鍵約束也是如此。
首先使用以下示例**建立目錄。
create directory mydir as 'd:\';
將原始檔放置在指定目錄中(上述路徑)
檔案中的資料應特定於匹配表結構。
下乙個
向指定使用者授予讀寫許可權。
grant read,write on directory mydir to debasis;
建立external table的示例**create table extemp1
(empno number(4),
ename varchar2(10),
job varchar2(9),
mgr number(4),
hiredate date,
sal number(7,2),
comm number(7,2),
deptno number(2)
)organization external
(type oracle_loader
default directory mydir
access parameters
(records delimited by newline skip 1
fields terminated by ','
(empno char,
ename char,
job char,
mgr char,
hiredate char,
sal char,
comm char,
deptno char
))location('data.lst')
)reject limit 1
;
示例2
create table scott.et
(id number(8,3),
name varchar2(10)
)organization external
( type oracle_loader
default directory ddd
access parameters
( records delimited by newline
badfile ddd:'et.bad'
discardfile ddd:'et.dsc'
logfile ddd:'et.log'
readsize 512
date_cache 1000
skip 0
fields terminated by ','
missing field values are null
reject rows with all null fields
(id char,
name char
) )location (ddd:'aa.txt')
)reject limit unlimited
noparallel
nomonitoring;
翻譯自:oracle外部表的使用
oracle 外部表使用詳解
外部表,相對於資料庫內部表來說的,意思是將作業系統檔案作為乙個資料庫,資料從檔案而來。我把它理解成類似指標的東西,告訴使用者,這個表的資料是從哪些檔案來的。語法如下 create table table1 id varchar2 4 name varchar2 20 organization ext...
使用Oracle外部表的五個限制
外部表是指不在資料庫中的表,如作業系統上的乙個按一定格式分割的文字檔案或者其他型別的表。這個外部表對於oracle資料庫來說,就好像是一張檢視,在資料庫中可以像試圖一樣進行查詢等操作。這個試圖允許使用者在外部資料上執行任何的sql語句,而不需要先將外部表中的資料裝載進資料庫中。不過需要注意是,外部資...
關於外部表的使用
oracle為我們提供了管理外部檔案的方法,即改檔案不佔據資料庫的空間實際上是在os檔案系統中存在的,因此對於外部表不能建表定義以外的任何東西,包括索引,主鍵,約束等等,因為這些是要佔據資料庫儲存空間的。建立外部表主要分三步操作 1.建立目錄 create or replace directory ...