SPOOL 命令使用例項【oracle匯出純文字格式檔案】
SET echo off --在用start命令執行一個sql指令碼時,是否顯示指令碼中正在執行的SQL語句;
SET feedback off --是否回顯本次sql命令處理的記錄條數,預設為on;
SET heading off --是否顯示列標題,預設為on;
SET pagesize 50000 --設定每頁有多少行數,預設為14。當值設為0時,輸出內容為一頁且不顯示列標題,為了避免分頁,我們通常可設定為0。
SET termout off --是否在螢幕上顯示輸出的內容,或指令碼中的命令的執行結果,預設為on;
SET trimout on; --去除標準輸出每行後面多餘的空格,預設為off;
SET timing off --顯示每個sql語句花費的執行時間;
SET trimspool on --去除重定向(spool)輸出每行的拖尾空格,預設為off;
SET NULL text --顯示時,用text值代替NULL值;
SET serveroutput off --是否顯示用DBMS_OUTPUT.PUT_LINE包進行輸出的資訊;--編寫儲存過程時,大多會將必要的資訊輸出;
SET newpage none --設定頁與頁之間的分隔{1|n|NONE};當值為0時在每頁開頭有一個小的黑方框;當值為n時在頁和頁之間隔著n個空行;當為none 時,會在頁和頁之間沒有任何間隔;
SET linesize 1000 --設定一行可以容納的字元數{80|n};輸出內容大於設定的行可容納的字元數,則折行顯示.據實際字元設定,過大匯出速度慢;
SET wrap on --輸出行長度大於設定行長度時(用set linesize n命令設定);值為on時,多餘的字元另起一行顯示,否則多餘的字元將被切除,不予顯示;
SET verify off --是否顯示替代變數被替代前後的語句;
SET colsep' '; --域輸出分隔符;
------------------------------------------------------------------------------------------------------
匯出文字資料的建議格式:
SQL*PLUS環境設定--
SET echo off --在用start命令執行一個sql指令碼時,不顯示指令碼中正在執行的SQL語句
SET heading off --不顯示欄位的名稱
SET pagesize 0 --設定輸出每頁行數,為了避免分頁,可設定為0。設定為0時,輸出內容為一頁且不顯示列標題具有SET heading off 包含的功能。
SET newpage none --頁與頁之間沒有分隔
SET trimout on --去除標準輸出每行後面多餘的空格
SET trimspool on --去除重定向(spool)輸出每行的拖尾空格
SET linesize 1000 --設定一行可以容納的字元數
SET feedback off --是否回顯本次sql命令處理的記錄條數,預設為on;
工作運用時匯出文字資料的常用格式:
SET echo off
SET pagesize 0
SET feedback off
SET trimout on
SET trimspool on
SET linesize 1000
spool 路徑+檔名
需要執行的SQL程式碼
spool off
注:linesize 要稍微設定大些,免得資料被截斷,它應和相應的 trimspool 結合使用防止匯出的文字有太多的尾部空格。但是如果 linesize 設定太大,會大大降低匯出的速度,另外在WINDOWS下匯出最好不要用PLSQL匯出,速度比較慢,直接用COMMEND下的 SQLPLUS 命令最小化視窗執行。
例項
要求
①匯出的過程不在SQL*PLUS螢幕上顯示
②匯出的文字中不含有執行的SQL命令
③匯出的文字中不含有欄位名
④匯出的文字中使用逗號(英文)作為欄位的分隔符
⑤匯出的文字中每行長200個字元
⑥匯出的文字中每頁999行
⑦匯出的文字中每行後面的空格必須被擷取
編寫指令碼txt_format.sql
set echo off --關閉指令碼中正在執行的SQL語句的顯示
set feedback off --關閉本次sql命令處理的記錄條數,預設為on即去掉最後的已經選擇的行數
set verify off --可以關閉和開啟提示確認資訊
set heading off --關閉標題的輸出設定為off就去掉了select結果的欄位名,只顯示資料
set term off --不在螢幕上輸出執行結果
set trimspool on --將每行後面多餘的空格去掉【linesize-實際字元數=多餘空格】
set trimout on --去除標準輸出每行後面多餘的空格
set linesize 200 --設定每行最多顯示200個字元
set pagesize 0 --設定每頁最多顯示999行記錄
set termout off --螢幕不顯示查詢資料
--設定匯出哪個表裡的資料和匯出的樣子,這是第二種方法
spool ls_test.txt --where
--只有關閉spool匯出操作,才會在輸出檔案中看到輸出內容,這句話不能寫在spool off後面會報錯
spool off
exit
注:請注意上面的兩個地方:set部分和spool部分,前者用於設定匯出的文字格式,後者再次執行一個sql指令碼:get_table.sql進行匯出。下面我們再看另一個指令碼get_table.sql
select rnc_id||'|'||rnc_label_cn||'|'||rnc_label_en from rnc;
那麼我們來看一下結果ls_test.txt
876947945|TJRNC04_260|TJRNC04_260
1128405375|TJRNC03_259|TJRNC03_259
1723122318|TJRNC05_261|TJRNC05_261
4290614068|TJRNC06_262|TJRNC06_262
145277785|TJRNC14_270|TJRNC14_270
96954|TJRNC02_258|TJRNC02_258
96956|TJRNC10_266|TJRNC10_266
96907|TJRNC08_264|TJRNC08_264
96926|TJRNC09_265|TJRNC09_265
96930|TJRNC12_268|TJRNC12_268
96932|TJRNC11_267|TJRNC11_267
96934|TJRNC13_269|TJRNC13_269
96946|TJRNC01_257|TJRNC01_257
96948|TJRNC15_271|TJRNC15_271
96950|TJRNC16_272|TJRNC16_272
96952|TJRNC17_273|TJRNC17_273
96906|TJRNC07_263|TJRNC07_263
leonarding
2012.03.15
tianjin
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30078170/viewspace-1396370/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【實驗】使用SQL*Plus中set命令格式化SPOOL匯出的檔案SQL
- Oracle如何使用spool匯出utf8字符集的文字檔案Oracle
- 函式FUN_GET_SPOOL_STRING_LHR的內容--spool匯出csv檔案格式函式
- SQLSERVER匯出TXT文字檔案,ORACLE SQL LOADER匯入TXT文字檔案SQLServerOracle
- linux 下MySQL命令列匯出csv檔案格式LinuxMySql命令列
- PHP 匯出 CSV 格式檔案PHP
- oralce 匯出csv格式檔案
- Oracle 匯出txt檔案Oracle
- windows文字檔案格式?Windows
- Oracle快速匯出平面檔案Oracle
- oracle 大檔案匯出方法Oracle
- 3Ds Max檔案匯出為Mesh格式檔案-OGRE3D
- Oracle Spool的用法小結以及兩種方法的比較----------匯出記錄到文字Oracle
- Java使用jxl.jar匯出Excel例項JavaJARExcel
- oracle 匯出excel 格式整改OracleExcel
- sqlserver匯入匯出文字檔案SQLServer
- vfp匯入文字檔案
- 用Oracle sqlldr匯入文字檔案TXT 總結OracleSQL
- MySQL匯入匯出檔案檔案MySql
- 關於oracle的Spool命令Oracle
- poi--excel --匯出例項Excel
- 使用普通檔案建立ASM例項ASM
- Oracle單例項+ASM新增控制檔案Oracle單例ASM
- Oracle資料檔案收縮例項Oracle
- 【SQL*Plus】SPOOL到檔案且在螢幕上列印SPOOL輸出資訊SQL
- JavaScript讀取文字檔案內容程式碼例項JavaScript
- 文字檔案的編碼格式
- mysql匯入csv格式檔案MySql
- 如何使用JavaScript匯入和匯出Excel檔案JavaScriptExcel
- ORACLE匯入匯出命令exp/impOracle
- Oracle資料庫匯入匯出。imp匯入命令和exp匯出命令Oracle資料庫
- Tee命令使用例項
- awk命令使用例項
- Oracle建立使用者、表空間、匯入匯出、...命令Oracle
- 如何讓sqlplus spool輸出的檔案成excel檔案SQLExcel
- oracle啟動例項時使用引數檔案的順序Oracle
- exp 匯出時帶時間格式的檔案設定
- 純真QQIP庫匯入到SQL Server例項詳解SQLServer