時不時地我們需要導出一些數據用作備份、查看報表等,如果用 導出會非常慢。而用 ,則速度非常快。 準備 執行文件 : sql set colsep , set feedback off set heading off set newp none set pagesize 0 set linesize ...
時不時地我們需要導出一些數據用作備份、查看報表等,如果用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獲取更多精彩文章!
歡迎關註微信公眾號<南瓜慢說>,將持續為你更新...
多讀書,多分享;多寫作,多整理。