150分!高分悬赏 求oracle定时任务创建语句 跪求知道 执行存储过程 140
我写了一个存储过程,用来刷新物化视图,现在想创建一个定时任务,每天晚上12点执行,也在网上搜了创建语句,有时候会报错,请网友们给出执行我的存储过程的定时任务的详细办法或者...
我写了一个存储过程,用来刷新物化视图,现在想创建一个定时任务,每天晚上12点执行,也在网上搜了 创建语句,有时候会报错,请网友们给出执行 我的存储过程的 定时任务的详细办法或者是语句。谢谢!不胜感激!权限之类的,如何测试 希望也写清楚
oracle 用户为 oracle01
存储过程 exec procedure_mv; 展开
oracle 用户为 oracle01
存储过程 exec procedure_mv; 展开
2个回答
展开全部
创建一个自定义过程
SQL> create or replace procedure MYPROC as
2 begin
3 insert into TEST values(sysdate);
4 end;
5 /
过程已创建。
创建JOB
SQL> variable job1 number;
SQL>
SQL> begin
2 dbms_job.submit(:job1,'MYPROC;',trunc(sysdate+1),'sysdate+1'); --从今晚12开始运行,以后每天运行一次
3 end;
4 /
PL/SQL 过程已成功完成。
具体可以看我的笔记
http://hi.baidu.com/tj_angela/item/4037a5101ba3233eb8318069
SQL> create or replace procedure MYPROC as
2 begin
3 insert into TEST values(sysdate);
4 end;
5 /
过程已创建。
创建JOB
SQL> variable job1 number;
SQL>
SQL> begin
2 dbms_job.submit(:job1,'MYPROC;',trunc(sysdate+1),'sysdate+1'); --从今晚12开始运行,以后每天运行一次
3 end;
4 /
PL/SQL 过程已成功完成。
具体可以看我的笔记
http://hi.baidu.com/tj_angela/item/4037a5101ba3233eb8318069
追问
能解释下 job那句话的意思吗?
如果我在创建四个存储过程都设置成12点执行可以否?oracle会顺序执行吗、
我用我的用户执行报错呀。
追答
SQL> variable job1 number;
SQL>
SQL> begin
2 dbms_job.submit(:job1,'MYPROC;',trunc(sysdate+1),'sysdate+1'); --从今晚12开始运行,以后每天运行一次
3 end;
4 /
dbms_job.submit有4个参数, :job1这个是系统会自动分配给job的一个id号,不用管
'MYPROC;' 这个是你要执行的proc 单引号和; 不能少
trunc(sysdate+1) 这个是第一次执行时间,就是明天的凌晨
'sysdate+1' 这个是间隔时间+1代表一天 +1/24 代表1小时
另外不建议设置4个job同时执行,会影响效率,但你一定要也没有问题,会并行执行
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询