三步教你掌握Oracle外部表

2021-05-18 02:23:19 字數 2555 閱讀 5154

外表(external table)就像普通的表對像一樣,可以select等,只是它是唯讀的,資料庫中只儲存了表結構的描述,表資料卻沒有存放在資料庫內,而是存放在了檔案系統上。當使用者想偶爾使用資料庫外的結構化資料時,用起外表來就非常方便,甚至比sqlldr都要方便的多。在這篇文章裡,我們為大家演示了

三步就掌握oracle外表過程。通過這次學習,也許大家就會發展原來學習oracle也是好容易哦。

第一步:建立目錄並授權

目錄是資料檔案的存放目標,資料檔案通常要求是文字檔案。這個過程在9i以前是需要配置utl_file_dir引數的。 複製內容到剪貼簿

**: 

!ls">sys@test>!ls /home/oracle/temp

user.ctl userlist.txt user.log

rudolf@test>

conn">sys@test>conn system/alibaba

connected.

sys@test>

create">sys@test>create directory temp as '/home/oracle/temp/';

directory created.

grant">sys@test>grant read,write on directory temp to rudolf;

grant succeeded.

第二步:建立外表與測試 複製內容到剪貼簿

**:  

create">rudolf@test>create table "userlist"

2 (

3 id number,

4 username varchar2(30),

5 email varchar2(128)

6 )

7 organization external

8 (

9 type oracle_loader

10 default directory temp

11 access parameters

12 (

13 records delimited by newline characterset us7ascii

14 badfile 'temp':'userlist.bad'

15 discardfile 'temp':'userlist.dis'

16 logfile 'temp':'user.log'

17 readsize 1048576

18 fields terminated by "," optionally enclosed by '"' ldrtrim

19 missing field values are null

20 reject rows with all null fields

21 (

22 id char(30)

23 terminated by "," optionally enclosed by '"',

24 username char(30)

25 terminated by "," optionally enclosed by '"',

26 email char(128)

27 terminated by "," optionally enclosed by '"'

28 )

29 )

30 location

31 (

32 'userlist.txt'

33 )

34 )reject limit unlimited

35 /">rudolf@test>/

table created.

l">rudolf@test>l

1 select id,username from userlist where rownum < 10

2* /">rudolf@test>/

id username

---------- ------------------------------

1 rudolflu

3 tomgu

6 coug

7 chao_ping

8 parrotao

9 cnoug

10 filsdedragon

11 dragon

9 rows selected.

瞧,成功了。外表就這麼簡單。可是只有二步啊,第三步在**呢?你也許會問。還有啊,userlist.txt要固定的格式嗎?create table...的語法這樣的狂複雜,每一項都是什麼含義呢?

這就是第三步要教給大家的東西了。

第三步:理解外表資料結構與create table ... organization external語法

注意,我們加了乙個external_table的引數。它的作用是告訴sqlldr不用真實load資料,而是生成包含external table 建立指令碼的log檔案。

原來我們更本不用擔心怎麼寫create external table的語句呢。sqlldr就可以幫我們生成了!

聽Max Levchin教你三步拿下市場

zhai 發表於 10 小時 前 分類標籤 市場 max levchin 23歲時共同建立了paypal,現在他已經成為乙個天使投資人,給一些年輕創業者 他自己其實也大不了多少吧 傳授經驗。我最近在乙個討論會上聽他講了乙個 三步拿下市場 的理論,是通過當年他們在paypal的經歷總結出來的,感覺非常...

複雜鍊錶負責三步走

複雜鍊錶 每個節點中有節點值,以及兩個指標,乙個指向下乙個節點,另乙個特殊指標指向任意乙個節點 這個問題難點不在於 在於理解 首先理解複雜鍊錶 他的特殊指標random 他隨機指向乙個節點 也可能為空 個人覺得特殊指標在是一種迷惑 思考時可以忽略它 先想怎麼搞出來複製的鍊錶 1.複製整個鍊錶 比如 ...

五分鐘掌握Mybatis操作 三步曲

第一步 配置configuration.xml檔案 第二步 建立dbutil類 publicclassdbutilcatch ioexceptione e.printstacktrace publicstaticdbutilgetinstance returndbutil title getsqls...