利用 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

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