oracle报表功能设计,oracle报表功能

需求是将指定的批量sql语句执行的结果通过脚本导出成txt或者能用excel打开的文件。

oracle导出文件可以通过spool命令实现,通过bat脚本登录sqlplus,然后引入sql文件即可,源码如下:

1 chcp 936 --将当前dos命令的编码格式改为gkb

2 mshta vbscript:msgbox("开始生成报表!",6,"生成报表")(window.close) --输出信息

3 sqlplus user/name@x.x.x.x:1521/实例名 @xxx.sql --数据库连接配置4 mshta vbscript:msgbox("报表生成执行完毕!",6,"生成报表")(window.close)

xxx.sql:

其中

set linesize 9999

set echo off

set pagesize 0

set serveroutput off

set feedback off

setnewpage noneset trimout on

set trimspool on

set colsep ','

set wrap off

set trimspool on@./index索引/创建索引.sqlselect '正在生成xxx报表;' fromdual;set term off --关闭屏幕打印spool ./报表新票据/(直贴)买入库存余额查询.csv

@./sql新票据/(直贴)买入库存余额查询.sql

spooloff

set term on

select '正在生成xxx报表;' fromdual;set term offspool ./报表新票据/(转、再贴)买断式买入库存余额查询.csv

@./sql新票据/(转、再贴)买断式买入库存余额查询.sql

spooloff

set term on

select '正在生成xxx报表;' fromdual;set term off

附:

sqlplus常用命令:

set echo on/off         是否显示脚本中的需要执行的命令

set feedback on/off     是否显示结果之后返回多少行的提示

set linesize n          设置一行最多显示多少字符

set timing on/off       显示sql语句执行多长时间

set termout on/off      在执行脚本时是否在屏幕上输出结果,如果 spool 到文件可以将其关闭

set heading on/off      是否显示查询结果的列名

set pagesize n          设置每页的行数

set trimspool on/off    在 spool 到文件时是否去除输出结果中行末尾的空白字符,之前的隔行可以用该参数去掉,和该参数对应的是 trimout,后者用于屏幕输出

set trimout on/off      是否去掉屏幕上输出结果行末尾的空白字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值