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

时间:2022-04-08 14:34:13

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

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

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

 scott.sql如下:  

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

注:

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

 

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


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

sqlplus scott/scott@HSDB @scott.sqlpause

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

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






本文出自 “清淼淡写” 博客,请务必保留此出处http://qingmiao.blog.51cto.com/7286083/1981520