📄 subject_40386.htm
字号:
<p>
序号:40386 发表者:rain_jm 发表日期:2003-05-18 12:45:53
<br>主题:如何实现定时触发一个存储过程?
<br>内容:我要每到一个特定时刻,就执行这个存储过程,有没有办法实现?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:Vincent 回复日期:2003-05-19 20:02:27
<br>内容:加一個計時器呀
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:rain_jm 回复日期:2003-05-20 15:36:32
<br>内容:在oracle里怎么加定时器?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:guopeng 回复日期:2003-05-20 20:44:35
<br>内容:定时器,我也想知道……
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:ppwwjj 回复日期:2003-05-21 10:35:32
<br>内容:oracle里可以加计时器,请问怎么加?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:天才 回复日期:2003-05-21 14:36:44
<br>内容:不就是JOB吗<BR>假设你的存储过程名为PROC_RAIN_JM<BR>再写一个存储过程名为PROC_JOB_RAIN_JM<BR>内容是:<BR>///////////////////////////////////////////////////////////////////<BR>Create Or Replace Procedure PROC_JOB_RAIN_JM<BR>Is<BR>li_jobno Number;<BR><BR>Begin<BR><BR>DBMS_JOB.SUBMIT(li_jobno,'PROC_RAIN_JM;',SYSDATE,'TRUNC(SYSDATE + 1)'); <BR><BR>End;<BR>///////////////////////////////////////////////////////////////////<BR>最后那一项可以参考如下:<BR>每天午夜12点 'TRUNC(SYSDATE + 1)' <BR>每天早上8点30分 'TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)' <BR>每星期二中午12点 'NEXT_DAY(TRUNC(SYSDATE ), ''TUESDAY'' ) + 12/24' <BR>每个月第一天的午夜12点 'TRUNC(LAST_DAY(SYSDATE ) + 1)' <BR>每个季度最后一天的晚上11点 'TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), 'Q' ) -1/24' <BR>每星期六和日早上6点10分 'TRUNC(LEAST(NEXT_DAY(SYSDATE, ''SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6*60+10)/(24*60)' <BR><BR>其中li_jobno是它的ID,可以通过这个ID停掉这个任务,最后想说的是不要执行多次,你可以在里面管理起来,发现已经运行了就不SUBMIT
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:天才 回复日期:2003-05-21 14:39:22
<br>内容:补充一下,省得你想了:<BR>每天运行一次 'SYSDATE + 1' <BR>每小时运行一次 'SYSDATE + 1/24' <BR>每10分钟运行一次 'SYSDATE + 10/(60*24)' <BR>每30秒运行一次 'SYSDATE + 30/(60*24*60)' <BR>每隔一星期运行一次 'SYSDATE + 7' <BR>不再运行该任务并删除它 NULL <BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:guopeng 回复日期:2003-05-21 21:29:51
<br>内容:对头<BR>就是 DBMS_JOB 包
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Vincent 回复日期:2003-05-22 20:03:52
<br>内容:天才就是天才﹐其實在其它語言里面有的功能PL/SQL也能實現﹐只是看你怎么想了﹗
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:非龙则虫 回复日期:2003-05-28 20:51:20
<br>内容:请问带参数的过程怎么办?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:guopeng 回复日期:2003-05-28 22:18:15
<br>内容:一样啊
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:非龙则虫 回复日期:2003-05-29 09:39:05
<br>内容:以PROC_RAIN_JM这个过程为例,如果它带了参数的话应该怎样传过去,如果这个参数需要变化的。请教!<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:rain_jm 回复日期:2003-05-29 11:36:23
<br>内容:还有个问题不好解决,如果是每月,每年触发一次呢,月和年的天数不一样,怎么控制时间?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -