下面是工作中的一个实例。任务需求是查询几个相关数据表,然后把结果输出为csv文件。
1.先写一个sql文件,如果是在windows环境下运行要用ansi内码存盘。文件框架如下:
SET feedback off
SET pagesize 50000
SET linesize 20000
SET verify off
SET pagesize 0
SET term off
SET trims ON
SET heading off
SET trimspool ON
SET trimout ON
SET timing off
SET verify off
SET colsep
spool C:\Users\Administrator\Desktop\result.csv
--需要运行的sql语句写在这里。
spool off
quit
2.形成表头的sql语句
csv文件字段之间用逗号分隔,所以下面这句用来形成表头:
select '品名,规格,单位,有效期,数量,整件数量,零头数量' from dual;
3.查询结果字段之间用 ||','|| 这个形式分隔:
SELECT a.TRADE_NAME ||','|| a.SPECS ||','|| a.PACK_UNIT ||','|| b.VALID_DATE ||','|| b.STORE_SUM / b.pack_qty ||','||
CASE WHEN (select pkg_num from drug_packages w