150分!高分悬赏 求oracle定时任务创建语句 跪求知道 执行存储过程 140

我写了一个存储过程,用来刷新物化视图,现在想创建一个定时任务,每天晚上12点执行,也在网上搜了创建语句,有时候会报错,请网友们给出执行我的存储过程的定时任务的详细办法或者... 我写了一个存储过程,用来刷新物化视图,现在想创建一个定时任务,每天晚上12点执行,也在网上搜了 创建语句,有时候会报错,请网友们给出执行 我的存储过程的 定时任务的详细办法或者是语句。谢谢!不胜感激!权限之类的,如何测试 希望也写清楚

oracle 用户为 oracle01

存储过程 exec procedure_mv;
展开
 我来答
tj_angela
2014-07-24 · TA获得超过7530个赞
知道大有可为答主
回答量:6797
采纳率:75%
帮助的人:2580万
展开全部
创建一个自定义过程
  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同时执行,会影响效率,但你一定要也没有问题,会并行执行
溺水的鱼_117
2014-07-24 · TA获得超过299个赞
知道小有建树答主
回答量:403
采纳率:0%
帮助的人:177万
展开全部
exec 存储过程名 不需要分号什么的 你是不是写错位置了,想测试那就非常简单了,你把时间设置的离你现在的时间近一些执行就可以了。如果你要是执行多个存储过程有先后顺序的话,一定要记得设置里面的一些规则,就是执行成功时如果做,是结束任务还是执行下一步。执行失败时如何去做。就这些,很简单的。如果还有问题,提供些具体的截图。这种笼统性的问,没法提供太多帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式