Orcale中的spool命令使用

2021-09-25 12:51:18 字數 1270 閱讀 2320

在對orcale資料庫檔案進行匯出時,我們希望批量處理已經寫好的sql**,但是在終端正常情況下無法進行迴圈執行**。sqlplus我們可以對多行**批量處理,步驟如下:

(1)首先你連線.s**件:sh 資料夾路徑名/.s**件 待連線的資料庫

(2)終端出現sql>時,說明資料庫連線成功了,此時輸入的語句為@…/test.sql;。這樣就可以將資料庫中的檔案匯出到指定的資料夾。

上面的test.sql檔案是我們需要執行的**,@後面跟的是檔案的路徑,test.sql檔案詳情如下:

sqlplus -s scott/tiger《上面**中,spool開始到spool off結束,中間的部分是我們要執行的sql語句,spool後面表示生成檔案的位置,即將select得出的資料內容寫到什麼地方去。

上面那一對set是乙個設定的過程,具體如下:

spool常用的設定:

set head off:輸出域標題,預設為on

set linesize 20000:linesize可以設定的大點,防止一行長度不夠

set echo off:顯示sqlplus中的每個sql命令本身,預設為on

set feedback off:回顯本次sql命令處理的記錄條數,預設為on

set pagesize 0:輸出每頁行數,預設為24,為了避免分頁,可設定為0

set termout off:顯示指令碼中的命令的執行結果,預設為on

set trimout on:去除標準輸出每行的拖尾空格,預設為off

set trimspool on:去除重定向(spool)輸出每行的拖尾空格,預設為off

!!!補充:

我們想要輸出不同格式的資料,這個時候需要對select內容進行規範。

正常下:select id, username, password from table

出現的結果是:

1 john 1234

2 jack 12345

3 rose 2345

4 joe 384657

5 tom 384655

6 jordan 384455

然而有時候我們需要輸出1,john,1234這種格式,此時有兩種方法:

(1)對sql檔案中的select語句格式進行改變:

select id||』,』||username||』,』||password||』,』 from table

(2)通過set設定,令set colsep『,』;

這兩種方法都可以達到同樣的效果,但是方法(2)具有很多的不確定性,因此推薦使用方法(1)

sqlplus 中的spool命令

sqlplus nolog eof set linesize 2500 set pagesize 0 set heading off set feedback off set echo off set termout off set trimout on set trimspool on set s...

spool命令使用詳解

spool命令使用詳解 spool是 sqlplus的命令,必須在sqlplus中使用,主要完成以標準輸出方式輸出sqlplus的命令及執行結果,一般常使用者格式化匯出oracle表資料。對於 spool資料的 sql,最好要自己定義格式,以方便程式直接匯入 sql語句如 select custco...

Oracle中SPOOL命令使用方法詳解

舉例 test.sh 如下 複製 bin sh sqlplus s scott tiger spool常用的設定 set head off 輸出域標題,預設為on set linesize 20000 linesize可以設定的大點,防止一行長度不夠 set echo off 顯示sqlplus中的...