【實驗】使用SQL*Plus中set命令格式化SPOOL匯出的檔案
在使用SQL*Plus生成報告檔案的時候,往往會因為其預設的設定導致輸出的結果非常的沒有可讀性,下面介紹一個日常中會被用到的一個指令碼,其中包含一些格式化輸出的set命令,為了方便理解,我會在每一條set命令之後緊跟著一個簡單的解釋,請慢慢體會。
sqlplus -s user_name/user_password << EOF >/dev/null
set echo off; -- 不顯示指令碼中的每個sql命令(預設為on)
set feedback off; -- 禁止回顯sql命令處理的記錄條數(預設為on)
set heading off; -- 禁止輸出標題(預設為on)
set pagesize 0; -- 禁止分頁輸出
set linesize 1000; -- 設定每行的字元輸出個數為1000,放置換行(預設為80 )
set numwidth 16; -- 設定number型別欄位長度為16(預設為10)
set termout off; -- 禁止顯示指令碼中命令的執行結果(預設為on)
set trimout on; -- 去除標準輸出每行的行尾空格(預設為off)
set trimspool on; -- 去除spool輸出結果中每行的結尾空格(預設為off)
spool sql_output_file.txt;
... ...
這裡輸入待執行的SQL命令,SQL命令整個執行過程都會被記錄在sql_output_file.txt檔案中。
... ...
spool off;
exit;
EOF
經過上面的處理之後,spool出來的資料基本上沒有多餘的干擾資料了。
沒有演示結果的技巧是無用的,也是枯燥的,所以,下面我來演示一下這個指令碼的使用過程。
我們以輸出all_objects檢視的所有內容為例,進行演示。
ora10g@Tdb /home/oracle$ sqlplus -s sec/sec << EOF >/dev/null
set linesize 1000;
> set echo off;
set termout off;
> set feedback off;
> set heading off;
> set pagesize 0;
> set linesize 1000;
> set numwidth 16;
> set termout off;
> set trimout on;
> set trimspool on;
> spool sql_output_file.txt;
> select * from all_objects;
> spool off;
> exit;
> EOF
這裡等待幾秒鐘的時間,檢視結果檔案sql_output_file.txt,就可以得到all_objects檢視內的所有內容了,這個檔案的格式是經過我們精心格式化之後的。
具體的匯出檔案sql_output_file.txt內容很長,不便於貼到這裡。
可以使用cat命令檢視輸出檔案的內容
ora10g@Tdb /home/oracle$ cat sql_output_file.txt
-- The End --
sqlplus -s user_name/user_password << EOF >/dev/null
set echo off; -- 不顯示指令碼中的每個sql命令(預設為on)
set feedback off; -- 禁止回顯sql命令處理的記錄條數(預設為on)
set heading off; -- 禁止輸出標題(預設為on)
set pagesize 0; -- 禁止分頁輸出
set linesize 1000; -- 設定每行的字元輸出個數為1000,放置換行(預設為80 )
set numwidth 16; -- 設定number型別欄位長度為16(預設為10)
set termout off; -- 禁止顯示指令碼中命令的執行結果(預設為on)
set trimout on; -- 去除標準輸出每行的行尾空格(預設為off)
set trimspool on; -- 去除spool輸出結果中每行的結尾空格(預設為off)
spool sql_output_file.txt;
... ...
這裡輸入待執行的SQL命令,SQL命令整個執行過程都會被記錄在sql_output_file.txt檔案中。
... ...
spool off;
exit;
EOF
經過上面的處理之後,spool出來的資料基本上沒有多餘的干擾資料了。
沒有演示結果的技巧是無用的,也是枯燥的,所以,下面我來演示一下這個指令碼的使用過程。
我們以輸出all_objects檢視的所有內容為例,進行演示。
ora10g@Tdb /home/oracle$ sqlplus -s sec/sec << EOF >/dev/null
set linesize 1000;
> set echo off;
set termout off;
> set feedback off;
> set heading off;
> set pagesize 0;
> set linesize 1000;
> set numwidth 16;
> set termout off;
> set trimout on;
> set trimspool on;
> spool sql_output_file.txt;
> select * from all_objects;
> spool off;
> exit;
> EOF
這裡等待幾秒鐘的時間,檢視結果檔案sql_output_file.txt,就可以得到all_objects檢視內的所有內容了,這個檔案的格式是經過我們精心格式化之後的。
具體的匯出檔案sql_output_file.txt內容很長,不便於貼到這裡。
可以使用cat命令檢視輸出檔案的內容
ora10g@Tdb /home/oracle$ cat sql_output_file.txt
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-614028/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SPOOL 命令使用例項【oracle匯出純文字格式檔案】Oracle
- 【SQL*Plus】SPOOL到檔案且在螢幕上列印SPOOL輸出資訊SQL
- 詳解sql*plus spool命令SQL
- 【SQL*Plus】常用列格式化命令實驗參考SQL
- SQL*PLUS命令, set命令大全SQL
- 如何讓sqlplus spool輸出的檔案成excel檔案SQLExcel
- 函式FUN_GET_SPOOL_STRING_LHR的內容--spool匯出csv檔案格式函式
- SQL*PLUS 格式化輸出SQL
- mysql 匯入匯出 sql檔案MySql
- Oracle如何使用spool匯出utf8字符集的文字檔案Oracle
- sqlplus set命令使用SQL
- 【SQL*Plus】使用EDIT命令快速編輯指令碼檔案SQL指令碼
- oracle實驗記錄 (SQL*PLUS 命令操作)OracleSQL
- oracl 資料庫 sqlplus 匯出資料為sql檔案資料庫SQL
- sqlplus中利用spool生成帶日期的檔名SQL
- Navicat如何匯入和匯出sql檔案SQL
- SQL/PLUS命令的使用大全SQL
- SQL*PLUS命令的使用大全SQL
- .sql檔案匯入到sql server中SQLServer
- set autotrace in SQL*PlusSQL
- Oracle使用SQL*Plus生成html檔案OracleSQLHTML
- ubuntu 下mysql匯入和匯出.sql檔案UbuntuMySql
- 4242.全文檢索與檔案匯出試驗, ④檔案完整路徑,使用“匯出→資料夾” ,匯出為網址,無法使用...
- 向mysql中匯入.sql檔案MySql
- 匯入sql檔案出現亂碼SQL
- sqlplus set命令SQL
- 【sqlplus】SQL*Plus命令使用大全SQL
- 記錄一次sqlplus匯出檔案SQL
- 【實驗】【SQL*Loader】使用SQLLDR將Linux的使用者檔案passwd匯入資料庫SQLLinux資料庫
- Java實現CSV檔案的匯出Java
- SQLSERVER匯出TXT文字檔案,ORACLE SQL LOADER匯入TXT文字檔案SQLServerOracle
- MySQL匯入匯出檔案檔案MySql
- sql plus命令使用總結SQL
- MySQL匯入SQL檔案及常用命令MySql
- Laravel5.6中使用Laravel/Excel實現Excel檔案匯出功能LaravelExcel
- SQL*PLUS命令的使用大全(一)薦SQL
- SQL*PLUS命令的使用大全(zt)(轉)SQL
- ffmpeg 匯出影片檔案中的音訊音訊