如果要求不高,可以采用windows bat文件方式;1:先创建SQL 文件spool.sql 内容: set head off spool c:\select.txt select * from tbl; spool off 2:然后创建一test.bat文件 文件内容:cd c:\ sqlplus "test/test" @c:\spool.sql 这时候直接运行test.bat会再c:\盘下生成select.txt文件,3:在windowsstart->programs->Accessories->System Tools->Scheduled Tasks里面定义每天运行一次 在linux下用crontab
问题已解决. 参照hyrongg的方法. 在Sql文件中写入 set head off spool &1 select * from tablename; spool off 再写个bat文件 sqlplus user/psw @sql.sql %date:~0,4%%date:~5,2%.txt <nul exit最后把bat文件放进计划任务...谢谢各位大大~! 听了各位大大的意见,小弟受益匪浅哈!
利用DBMS_JOB.SUBMIT函数,将你要执行的处理(存储过程)将作业提交到作业队列。
内容:
set head off
spool c:\select.txt
select * from tbl;
spool off
2:然后创建一test.bat文件
文件内容:cd c:\
sqlplus "test/test" @c:\spool.sql
这时候直接运行test.bat会再c:\盘下生成select.txt文件,3:在windowsstart->programs->Accessories->System Tools->Scheduled Tasks里面定义每天运行一次
在linux下用crontab
execute immediate 'Spool c:\temp\'||to_char(sysdate,'yyyymmdd')||'.txt';select * from test;execute immediate 'spool off';
然后用JOB定时执行这个存储过程
exp.bat的内容是:sqlplus user/pw@yourSid @d:\exp.sql
再在d盘根目录下建个文件exp.sql,内容如下:column abc NEW_VALUE abc;
select to_char(sysdate,'yyyy-mm-dd_hh24miss')||'.txt' abc from dual;
spool &abc
select * from emp;
exit;以上 就可以定时生成日期命名的文本文件了。
操作系统做个定时任务,任务的内容是执行一个 exp.bat
exp.bat的内容是: sqlplus user/pw@yourSid @d:\exp.sql
再在d盘根目录下建个文件exp.sql,内容如下: column abc NEW_VALUE abc;
select to_char(sysdate,'yyyy-mm-dd_hh24miss')||'.txt' abc from dual;
spool &abc
select * from emp;
exit;
以上 就可以定时生成日期命名的文本文件了。
参照hyrongg的方法.
在Sql文件中写入
set head off
spool &1
select * from tablename;
spool off 再写个bat文件
sqlplus user/psw @sql.sql %date:~0,4%%date:~5,2%.txt <nul
exit最后把bat文件放进计划任务...谢谢各位大大~!
听了各位大大的意见,小弟受益匪浅哈!