在linux or Unix系统中有一个叫crontag的东西。
你可以设定执行的时间,它就是每天循环执行了。
格式:(second hour date month week)
00 10 /u01/app/cronjob/exe_selectsh
每天十点整执行一次
可用sqlplus的方式
先在某文件夹下(我就直接以C盘根目录为例了)
创建mainsql文件
内容如下
set linesize 200
set term off verify off feedback off pagesize 0
set head off
set trimout on
set trimspool on
spool aaatxt
@exportsql
spool off
exit
其中aaatxt是你要保存的文件名,这里貌似不能导成excel,只可以保存成csv格式,然后你再自己转换吧,文本是没问题的,其中@exportsql 是另一个文件,内容如下
你要想把数据导成以逗号分隔
脚本这么写
我就简单以emp表为例了,也是用的to_char函数,只要语句写正确就OK
select empno||','||to_char(hiredate,'yyyy-mm-dd') from emp;
结尾必须用分号
把这个保存成exportsql文件
然后cmd进到你要执行的文件夹下
sqlplus 用户名/密码 @main
然后无限的等待,等到把你的文件导成
你将来要是要把文件导入到哪的话,可以用sqlloader
这个网上教程很多
1、打开SQL Server Management Studio,SQL Server代理--作业--点右键--新建作业
2、作业的名称取为:test,并进行说明,若作业的数量太多,以方便区别; 这里写上定时执行存储过程Pr_test,确定保存
3、点击常规下面的步骤,按箭头指示,新建步骤
4、取名步骤名称:exec pr_test,注意选择存储过程所在的数据库;录入需要执行的命令:exec pr_test ,确定保存
若有其它参数命令也可以编写
5、新建计划,进放计划属性设置窗口
6、依然要填写计划的名称:exec pr_test
在linux 有多种方式可以实现定时运行 使用最灵活的应该是crontab 在使用crontab必须特别注意环境变量问题 在此以执行oracle的sqlplus为例 说明crontab的使用方法 crontab 使用方法 crontab [ e | l | r ] 文件名 e:编辑任务 l:显示任务信息 r:删除定时执行任务信息 crontab中处理的文件格式为 分钟 小时 日期 月 星期 执行的文件名 代表所有条件 rem /home/oracle/execsql 代表每个小时的 分钟时执行/home/oracle/execsql文件 对于sql等需要在特定的环境变量下运行的命令 在执行文件中必须列出 如在oracle下执行sqlplus 必须按以下格式编写 $ cat execsql ORACLE_HOME=/ora ;export ORACLE_HOME ORACLE_OWNER=oracle;export ORACLE_OWNER ORACLE_SID=ora ;export ORACLE_SID ORACLE_BASE=/ora /app/oralce;export ORACLE_BASE LD_LIBRARY_PATH=$ORACLE_HOME/lib;export LD_LIBRARY_PATH PATH=$PATH:$ORACLE_HOME/bin:$LD_LIBRARY_PATH;export PATH NLS_LANG=AMERICAN_AMERICA ZHS CGB ;export NLS_LANG /ora /bin/sqlplus test /test @test ext (执行@test ext文件 数据库的用户名/密码为test /test ) 其中要求execsql为可执行的程序 $ ls al execsql rwxr xr x oracle dba Oct : execsql lishixinzhi/Article/program/Oracle/201311/18376
以上就是关于怎么使某一条sql语句每天定时执行全部的内容,包括:怎么使某一条sql语句每天定时执行、如何将oracle数据库中的一张表中的字段有选择性的导出到csv文件并定时执行、sql定时作业怎么执行存储过程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)