使用sqlplus工具导出数据到csv文件,要求文件带有时间戳

现业务部门有需求,需要每天定时把数据库里的一些特定数据导出来,最好能以日期命名加以区分存档。

    这里选用是oracle的sqlplus工具。理由就是简单快捷高效,可以跨平台,linux和win都可以操作,直接借助oracle的客户端就能完成,不行sqlldr那样复杂。

    关于spool指令的参数,这里就不多叙述了,网上随便就能搜到,直接上脚本吧(我这里选的是windows平台)

 scott.sql如下:  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
set  colsep  ,
set  feedback  off  
set  heading  on 
set  trimout  on 
set  pagesize 50
set  linesize 80
set  numwidth 10
set  termout  off
set  trimout  on
set  underline  off
col datestr new_value filename
select  'D:\test\scott_' ||to_char(sysdate, 'yyyymmdd' )|| '.csv'  datestr  from  dual;
spool &filename  
select  a.empno,a.ename,a.sal  from  emp a;  
spool  off  
exit

注:

1
2
3
col datestr new_value filename
select  'D:\test\scott_' ||to_char(sysdate, 'yyyymmdd' )|| '.csv'  datestr  from  dual;
spool &filename

 

其中这一部分是定义导出文件的变量,取得是数据库时间


另外准备一个连接数据库的bat脚本,select.bat:

1
2
sqlplus scott /scott @HSDB @scott.sql
pause

具体执行效果如下图,想了解更多欢迎评论交流

9aac5227f1579bfa3d73cc55ffc2ec20.png


本文转自 青苗飞扬 51CTO博客,原文链接:http://blog.51cto.com/qingmiao/1981520

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值