发布网友
共2个回答
热心网友
创建一个自定义过程
SQL> create or replace procere 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同时执行,会影响效率,但你一定要也没有问题,会并行执行
热心网友
exec 存储过程名 不需要分号什么的 你是不是写错位置了,想测试那就非常简单了,你把时间设置的离你现在的时间近一些执行就可以了。如果你要是执行多个存储过程有先后顺序的话,一定要记得设置里面的一些规则,就是执行成功时如果做,是结束任务还是执行下一步。执行失败时如何去做。就这些,很简单的。如果还有问题,提供些具体的截图。这种笼统性的问,没法提供太多帮助