Oracle SQLPlus導出數據到csv文件

時不時地我們需要導出一些數據用作備份、查看報表等,如果用Sql Developer導出會非常慢。而用SqlPlus,則速度非常快。

準備SQL執行文件export.sql

set colsep  ,
set feedback off
set heading off
set newp none
set pagesize 0
set linesize 200
set trimout on

spool /data/export.csv

select t.name||','||t.age||','||t.salary||','||t.email||','||t.title
from employee t
where t.age < 50
order by t.salary desc;  

spool off  
exit

說明:

set colsep  , #分割符
set feedback off #回顯本次sql命令處理記錄條數
set heading off # 輸出標題
set newp none #設置查詢出來的數據分多少頁顯示,如果需要連續的數據,中間不要出現空行就把newp設置爲none
set pagesize 0 # 輸出每頁行數,爲了避免分頁設置爲0
set linesize 200 # 每行大小,如果設置太小,會分行,最好是超好輸出最大值
set trimout on # 去除標準輸出每行的拖尾空格
set termout off #顯示腳本中的命令的執行結果
set echo on #設置運行命令是否顯示語句
set numwidth 12 # 輸出number類型域長度

執行:

sqlplus user/pass@db @export.sql

可以通過SQL指定文件名:

col datestr new_value filename
select '/data/export.'||to_char(sysdate,'yyyymmdd')||'.csv' datestr from dual;
spool &filename

歡迎訪問南瓜慢說 www.pkslow.com獲取更多精彩文章!

歡迎關注微信公衆號<南瓜慢說>,將持續爲你更新...

多讀書,多分享;多寫作,多整理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章