Oracle資料庫存量資料抽取使用spool控制命令
spool是oracle sqlplus提供的一個控制命令。可以利用spool和select語句的組合動態生成一些失去了指令碼或者一些資料。
1.spool作用: 在sqlplus中用來儲存或列印查詢結果。
set echo on --是否顯示執行的命令內容
set feedback off --是否顯示 * rows selected
set heading off --是否顯示欄位的名稱
set verify off --是否顯示替代變數被替代前後的語句。fil
set trimspool off --去欄位空格
set pagesize 1000 --頁面大小
set linesize 50//linesize設定儘量根據需要來設定,大了生成的檔案也大
define fil= 'e:\exp.txt'
prompt *** Spooling to &fil
spool &fil
select id||','||username||','||'"'||password||'"' from myuser;
spool off;
可以在Oracle客戶端進行輸入執行,也可以在PL/SQL進行輸入執行。
可以將spool命令寫成slq指令碼,執行指令碼,將spool的set單獨放一個sql指令碼,將select語句放一個sql指令碼。
如果要設定分隔符,在select語句中用 ||'分隔符'||設定。
如果寫成sql指令碼,可以用 @sql指令碼地址 來執行指令碼,在Oracle客戶端或者PL\SLQ中。