利用 sqlplus spool 實現oracle 導出 csv 文件

這樣的文章網上一搜一大堆,我也給出我的。順便說一下 傳參、拼接、

例子如下

export_csv.sql 文件內容如下  帶一些解釋的備註,使用的時候請將備註刪除

--接收參數  後面直接做的字符串拼接  即PLATERES_TRUCK_ 與 傳過來的參數進行拼接 就是這麼簡單,不用連接符號也不用引號

define v_tab_name = PLATERES_TRUCK_&2

--設置參數,想了解具體命令含義的請百度
SET HEADING OFF
SET ECHO OFF
SET FEEDBACK OFF
SET PAGES 0
SET LINESIZE 32766
SET LONG 1999999
SET TRIMOUT ON
SET TRIMSPOOL ON
SET NEWPAGE NONE
SET SQLBLANKLINES OFF
SET TRIMS ON
SET TIMING OFF
SET SERVEROUTPUT ON
SET VERIFY OFF
SET TERM OFF

spool &1
--sql 語句 要下載的東西,因爲要下載csv,所以查詢結果用逗號分隔。
SELECT 'Group_ID,TruckType,Res_MLoad,Res_AxLoad,Res_AxCnt,Period_ID' FROM DUAL UNION ALL
SELECT N.GROUP_ID||','||N.TRUCKTYPE||','||N.Res_MLoad||','||N.RES_AXLOAD||','||N.RES_AXCNT||','||N.PERIOD_ID FROM &&v_tab_name N;

spool off
EXIT

.bat文件

形式如下,傳參 調用

sqlplus -L %1/%2@%3 @export_csv.sql %4 %5

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