在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

Oracle Scheduler中的repeat

105次阅读
没有评论

共计 5171 个字符,预计需要花费 13 分钟才能阅读完成。

丸趣 TV 小编给大家分享一下 Oracle Scheduler 中的 repeat_interval 怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

repeat_interval 从字面意思来说就是重复间隔。是指用户定义间隔多长时间执行指定的任务。如果不指定该参数,则任务只执行一次。

repeat_interval 语法如下:

repeat_interval = regular_schedule | combined_schedule
 
regular_schedule = frequency_clause
[ interval_clause] [ bymonth_clause] [ byweekno_clause]
[ byyearday_clause] [ bydate_clause] [ bymonthday_clause]
[ byday_clause] [ byhour_clause] [ byminute_clause]
[ bysecond_clause] [ bysetpos_clause] [ include_clause]
[ exclude_clause] [ intersect_clause][ periods_clause]
[ byperiod_clause]
 
combined_schedule = schedule_list

下面分别介绍几个常见的子名,更详细的信息可以参考官方文档:http://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_sched.htm#BABFBCEF

1、frequency_clause

语法如下:

frequency_clause =  FREQ   =  ( predefined_frequency | user_defined_frequency )
predefined_frequency =  YEARLY  |  MONTHLY  |  WEEKLY  |  DAILY  | 
  HOURLY  |  MINUTELY  |  SECONDLY 
user_defined_frequency = named_schedule

指定重复的类型,这个参数必须指定。各个值的含意从字面就可以理解:YEARLY 指定按年重复,MONTHLY 指定按月重复,WEEKLY 指定按周重复,DAILY 指定按日重复,HOURLY 指定按小时重复,MINUTELY 指定按分钟重复,SECONDLY 指定按秒重复。

示例:使用 MINUTELY 作为重复类型

BEGIN
 SYS.DBMS_SCHEDULER.CREATE_JOB(JOB_NAME =   tst1 ,
 JOB_TYPE =   plsql_block ,
 JOB_ACTION =   insert into emp select * from scott.emp where empno=7396 ,
 REPEAT_INTERVAL =   freq=minutely ,
 ENABLED =  TRUE);
/

创建一个名为 tst1 的 job,做如下查询:

从上面的查询可以看出,上一次执行和下一次执行的间隔大约为 60s。

2、interval_clause

语法如下:

interval_clause =  INTERVAL   =  intervalnum
 intervalnum = 1 through 99

该参数指定重复的间隔,默认为 1,取值范围是 1 -99

示例:使用 MINUTELY 作为重复类型,指定间隔 2 分钟

BEGIN
 SYS.DBMS_SCHEDULER.CREATE_JOB(JOB_NAME =   tst1 ,
 JOB_TYPE =   plsql_block ,
 JOB_ACTION =   insert into emp select * from scott.emp where empno=7396 ,
 REPEAT_INTERVAL =   freq=minutely;interval=2 ,
 ENABLED =  TRUE);
/

再次查询间隔时间

从上图中可以看出,间隔的时间约为 2 分钟。

3、bymonth_clause

语法如下:

bymonth_clause =  BYMONTH   =  monthlist
 monthlist = month (  ,  month)*
 month = numeric_month | char_month
 numeric_month = 1 | 2 | 3 ... 12
 char_month =  JAN  |  FEB  |  MAR  |  APR  |  MAY  |  JUN  |
  JUL  |  AUG  |  SEP  |  OCT  |  NOV  |  DEC

该参数用于指定哪个月或哪几个月执行任务。可以用数字指定月份,也可以用三个字母简写指定月份。

示例:指定每 3、6、9、12 月执行 job

BEGIN
 SYS.DBMS_SCHEDULER.CREATE_JOB(JOB_NAME =   tst1 ,
 JOB_TYPE =   plsql_block ,
 JOB_ACTION =   insert into emp select * from scott.emp where empno=7396 ,
 REPEAT_INTERVAL =   freq=monthly;bymonth=3,6,9,12 ,
 ENABLED =  TRUE);
/

从上面的查询可以看出,下次 job 执行的时间是 17 年 6 月 15 日,因为现在是 5 月,所以 job 并没有执行。

4、byweekno_clause

byweekno_clause =  BYWEEKNO   =  weeknumber_list
 weeknumber_list = weeknumber (  ,  weeknumber)*
 weeknumber = [minus] weekno
 weekno = 1 through 53

该参数用于指定在一年中的第几周执行 job,每年有 52 或 53 周,该参数只针对 FREQ=YEARLY 有效。

5、byyearday_clause

byyearday_clause =  BYYEARDAY   =  yearday_list
 yearday_list = yearday (  ,  yearday)*
 yearday = [minus] yeardaynum
 yeardaynum = 1 through 366

该参数指定一年中的第几天执行 job,有效值为 1 -366,也可以在数字前指定 – 代表该年的倒数第几天如 -2 表示 12 月 30 日。

示例:指定每年的倒数第二天执行 job

BEGIN
 SYS.DBMS_SCHEDULER.CREATE_JOB(JOB_NAME =   tst1 ,
 JOB_TYPE =   plsql_block ,
 JOB_ACTION =   insert into emp select * from scott.emp where empno=7396 ,
 REPEAT_INTERVAL =   freq=yearly;byyearday=-2 ,
 ENABLED =  TRUE);
/

从上图可以看出,job 的执行时间为 17 年 12 月 30 日,即 17 年的倒数第二天。

6、bydate_clause

语法如下:

bydate_clause =  BYDATE   =  date_list
 date_list = date (  ,  date)*
 date = [YYYY]MMDD [ offset | span ]

该参数用于指定哪一天执行 job,格式为 [YYYY]MMDD。可以用 span 参数指定连续的日期如 bydate=0110,0111,0112,0113,0114 与 bydate=0110+span:5d 等价。可以用 offset 参数对日期做调整,增加 / 减少几天(d) 或几周 (w) 如 bydate=0520-offset:5d,表示指定 5 月 15 日执行。

7、byday_clause

语法如下:

byday_clause =  BYDAY   =  byday_list
 byday_list = byday (  ,  byday)*
 byday = [weekdaynum] day
 weekdaynum = [minus] daynum
 daynum = 1 through 53 /* if frequency is yearly */
 daynum = 1 through 5 /* if frequency is monthly */
 day =  MON  |  TUE  |  WED  |  THU  |  FRI  |  SAT  |  SUN

指定一周中的周几执行 job,使用单词的前三个字母指定。如果指定的 freq=yearly,则 daynum 可以是 1 -53,指定一年的第几周。如果 freq=monthly,则 daynum 可以是 1 -5,指定一个月的第几周。使用 – 表示倒数。

示例:每个月第 3 周的周五执行 job

BEGIN
 SYS.DBMS_SCHEDULER.CREATE_JOB(JOB_NAME =   tst1 ,
 JOB_TYPE =   plsql_block ,
 JOB_ACTION =   insert into emp select * from scott.emp where empno=7396 ,
 REPEAT_INTERVAL =   freq=monthly;byday=3 FRI ,
 ENABLED =  TRUE);
/

从上图可以看出一次执行时间为 17 年 5 月 19 日,为 5 月第三周的周五。

8、bymonthday_clause

语法如下:

bymonthday_clause =  BYMONTHDAY   =  monthday_list
 monthday_list = monthday (  ,  monthday)*
 monthday = [minus] monthdaynum
 monthdaynum = 1 through 31

指定每月的第几天执行 job,有效值为 1 -31,也可以使用 – 符号指定该月的倒数第几天。

示例:指定每月的倒数第二天执行 job

BEGIN
 SYS.DBMS_SCHEDULER.CREATE_JOB(JOB_NAME =   tst1 ,
 JOB_TYPE =   plsql_block ,
 JOB_ACTION =   insert into emp select * from scott.emp where empno=7396 ,
 REPEAT_INTERVAL =   freq=hourly;bymonthday=-2 ,
 ENABLED =  TRUE);
/

如上图所示,下次执行 job 的时间为 5 月 30 日,为 5 月的倒数第 2 天。

9、byhour_clause、byminute_clause、bysecond_clause

语法如下:

byhour_clause =  BYHOUR   =  hour_list
 hour_list = hour (  ,  hour)*
 hour = 0 through 23
byminute_clause =  BYMINUTE   =  minute_list
 minute_list = minute (  ,  minute)*
 minute = 0 through 59
bysecond_clause =  BYSECOND   =  second_list
 second_list = second (  ,  second)*
 second = 0 through 59

这些参数指定 job 执行时的具体的时、分、秒。

byhour 指定几点,byminute 指定几分,bysecond 指定几秒

示例:每天 1:20:30 执行 job

BEGIN
 SYS.DBMS_SCHEDULER.CREATE_JOB(JOB_NAME =   tst1 ,
 JOB_TYPE =   plsql_block ,
 JOB_ACTION =   insert into emp select * from scott.emp where empno=7396 ,
 REPEAT_INTERVAL =   freq=daily;interval=1;byhour=1;byminute=20;bysecond=30 ,
 ENABLED =  TRUE);
/

从上图可以看出,一次执行的时间为指定的 5 月 16 日 1:20:30。

以上是“Oracle Scheduler 中的 repeat_interval 怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-19发表,共计5171字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 日韩免费视频在线观看 | 国产精品无码素人福利不卡 | 婷婷综合 在线 | 一级理论片 | 吃奶摸下激烈床震视频试看 | 孕妇一级毛片 | 亚洲av无码一区东京热久久 | 精品亚洲欧美高清不卡高清 | 欧美亚洲日本 | 青免费视频 | 曰韩在线视频 | 性无码专区无码 | 91精品国产亚一区二区三区 | 天堂√在线中文官网在线 | 亚洲视频在线观看网站 | 成人在线观看播放 | 欧美一级成人一区二区三区 | 女人体1963免费观看视频 | 亚欧美色| www日本xxxx | 在线高清h视频在线观看 | 成人伊人电影 | 亚洲人成网站在线在线 | 99久久精品免费看国产 | 亚洲熟妇丰满多毛xxxx | 亚洲av乱码久久精品蜜桃 | 久热精品香蕉在线视频 | 亚洲人成黄网在线观看 | 国产性一交一乱一伦一色一情 | 欧美多人换爱交换乱理伦片 | 青青草在线免费 | 国产叼嘿视频免费网站 | 久久综合精品国产丝袜长腿 | 国产在线欧美日韩精品一区二区 | 人妻丝袜av中文系列先锋影音 | 久草热在线 | www.操| 九九九精品在线观看 | 亚洲a无码综合a国产av中文 | 国产精品第页 | 亚洲精品无码少妇30p |