创建
| |
| DECLARE |
| jobno NUMBER; |
| BEGIN |
| dbms_job.submit ( |
| jobno, |
| 'PRC_INSERT;', |
| SYSDATE, |
| 'sysdate + 15/1440' |
| ); |
| COMMIT; |
| END; |
| |
查看
| |
| select dj.job, dj.what, dj.last_date, dj.next_date |
| from dba_jobs dj |
| where upper(dj.what) like '%P_SYN_PRODUCT%' |
| order by dj.NEXT_DATE asc; |
| |
| |
| select * from dba_jobs_running; |
| |
| select job, what, last_date, next_date |
| from all_jobs |
| order by last_date desc; |
| |
| select job, what, last_date, next_date |
| from dba_jobs |
| order by last_date desc; |
| |
| |
| select value from v$parameter where name like '%job_queue_processes%'; |
| |
| alter system set job_queue_processes =100; |
删除
| |
| BEGIN |
| |
| |
| dbms_job.remove(210); |
| commit; |
| END; |
| |
| |
| call dbms_job.remove(83); |
| |
修改
| |
| call DBMS_JOB.BROKEN(83, SYS.DIUTIL.INT_TO_BOOL(1)); |
| |
| call DBMS_JOB.broken(job, broken, nextdate); –- broken为boolean值 |
| |
| call DBMS_JOB.run(83); |
| |
| |
| call dbms_job.what(job, what); |
| |
| call dbms_job.next_date(job, next_date); |
| |
| call dbms_job.interval(job, interval); |
常见 interval 设置
| |
| 每天午夜12点 TRUNC(SYSDATE + 1) |
| 每天早上8点30分 TRUNC(SYSDATE + 1) + (8*60+30)/(24*60) |
| 每星期二中午12点 NEXT_DAY(TRUNC(SYSDATE ), '星期二' ) + 12/24 |
| 每个月第一天的午夜12点 TRUNC(LAST_DAY(SYSDATE ) + 1) |
| 每个季度最后一天的晚上11点 TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), 'Q' ) -1/24 |
| 每星期六和日早上6点10分 TRUNC(LEAST(NEXT_DAY(SYSDATE, '星期六'), NEXT_DAY(SYSDATE, "星期日"))) + (6×60+10)/(24×60) |
| |
| 每秒钟执行次 sysdate + 1/(24 * 60 * 60) |
| 如果改成sysdate + 10/(24 * 60 * 60)就是10秒钟执行次 |
| |
| 每分钟执行 TRUNC(sysdate,'mi') + 1/ (24*60) |
| 如果改成TRUNC(sysdate,'mi') + 10/ (24*60) 就是每10分钟执行次 |
| |
| 每天定时执行 |
| 例如:每天的凌晨1点执行 |
| TRUNC(sysdate) + 1 +1/ (24) |
| |
| 每周定时执行 |
| 例如:每周一凌晨1点执行 |
| TRUNC(next_day(sysdate,'星期一'))+1/24 |
| |
| 每月定时执行 |
| 例如:每月1日凌晨1点执行 |
| TRUNC(LAST_DAY(SYSDATE))+1+1/24 |
| |
| 每季度定时执行 |
| 例如每季度的第一天凌晨1点执行 |
| TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24 |
| |
| 每半年定时执行 |
| 例如:每年7月1日和1月1日凌晨1点 |
| ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24 |
| |
| 每年定时执行 |
| 例如:每年1月1日凌晨1点执行 |
| ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24 |
PLSQL操作

参考:
https://blog.csdn.net/www1056481167/article/details/84637674
https://www.cnblogs.com/leihongnu/p/15378805.html
https://www.cnblogs.com/yx007/p/6519544.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律