1.spool的作用是什麼?
spool的作用可以用一句話來描述:在sqlplus中用來儲存或列印查詢結果。
2.spool在oracle 9i、10g和11g下的語法及使用示例
oracle 9i spool語法 spo[ol] [file_name[.ext]|off|out]
oracle 10g、11g spool語法
oracle 9i spool的主法比較簡單,其實就相當於oracle 10g中spool的replace選項,因此本文主要介紹oracle 10g的選項。
file_name[.txt]
儲存查詢結果集的的路徑和檔名,如果沒有指定字尾名,預設名一般為.lst或.lis。如果指定系統檔案為/dev/null and /dev/stderr,則不會新增字尾名。
off 完成spool。
out 停止spool,並將檔案輸出到終端裝置上,如印表機(可能有些作業系統不支援)。
create 建立指定檔名的新檔案;如指定檔案存在,則報檔案存在錯誤。
replace 如果指定檔案存在則覆蓋替換;如指定檔案不存在,則建立,replace為spool預設選項。
spool常用的設定
set colsep' '; //域輸出分隔符
set echo off; //顯示start啟動的指令碼中的每個sql命令,預設為on
set feedback off; //回顯本次sql命令處理的記錄條數,預設為on
set heading off; //輸出域標題,預設為on
set pagesize 0; //輸出每頁行數,預設為24,為了避免分頁,可設定為0。
set termout off; //顯示指令碼中的命令的執行結果,預設為on
set trimout on; //去除標準輸出每行的拖尾空格,預設為off
set trimspool on; //去除重定向(spool)輸出每行的拖尾空格,預設為off
set newp none //設定查詢出來的資料分多少頁顯示,如果需要連續的資料,中間不要出現空行就把newp設定為none,這樣輸出的資料行都是連續的,中間沒有空行之類的
方法一:採用以下格式指令碼
set colsep '|' --設定|為列分隔符
set trimspool on
set linesize 120
set pagesize 2000
set newpage 1
set heading off
set term off
set num 18
set feedback off
spool 路徑+檔名
select * from tablename;
spool off
方法二:採用以下指令碼
set trimspool on
set linesize 120
set pagesize 2000
set newpage 1
set heading off
set term off
spool 路徑+檔名
select col1||','||col2||','||col3||','||col4||'..' from tablename;
spool off
Oracle spool 用法小結
關於spool spool是sqlplus的命令,不是sql語法裡面的東西。對於spool資料的sql,最好要自己定義格式,以方便程式直接匯入,sql語句如 select taskindex commonindex tasktype to number to char sysdate,yyyymmd...
Oracle spool 用法小結
關於spool spool是sqlplus的命令,不是sql語法裡面的東西。對於spool資料的sql,最好要自己定義格式,以方便程式直接匯入,sql語句如 select taskindex commonindex tasktype to number to char sysdate,yyyymmd...
Oracle spool 用法小結
匯出結果到文字 spool 例如 spool d spool flatquery.txt 這樣,sql plus將把所有的輸出以及在螢幕上的命令等都指定給該檔案。執行查詢輸出。此時,系統並沒有把結果儲存到檔案中,而是儲存到緩衝區中。查詢結束後,關閉檔案即可。命令格式為 spool off。1.對於s...