比如有一个表
create table TEST(a date);
2....
SQL> create or replace procedure MYPROC as
2 begin
3 insert into TEST values(sysdate);
4 end;
5 /
3....
variable job1 number;
begin
dbms_job.submit(:job1,'MYPROC;',sysdate,'sysdate+1/1440'); --每天1440分钟,即一分钟运行test过程一次
end;
4..
运行JOB
SQL> begin
2 dbms_job.run(:job1);
3 end;
4 /
这没有什么问题,可是我想写个这样的过程,完成下面的功能。
1..把 3,4 写到一个过程里,由外面传进来几个参数,根据常数建立作业,并且这个作业是在我指定的时间运行一次(就上 1 过程的语句)
2..当上面的一步完成了以后,再修改自己的作业时间(比如现在是1点,通过计算知道下一次运行的时间是3点,自己修改自己的运行时间?(这里我不知道可以吗?))
3。完成,就可以退出了,然后在3点运行,在执行上面的几个步骤。。
我现在把3 写到一个过程里,就死命的报错,气死了?
请大家帮忙????
create table TEST(a date);
2....
SQL> create or replace procedure MYPROC as
2 begin
3 insert into TEST values(sysdate);
4 end;
5 /
3....
variable job1 number;
begin
dbms_job.submit(:job1,'MYPROC;',sysdate,'sysdate+1/1440'); --每天1440分钟,即一分钟运行test过程一次
end;
4..
运行JOB
SQL> begin
2 dbms_job.run(:job1);
3 end;
4 /
这没有什么问题,可是我想写个这样的过程,完成下面的功能。
1..把 3,4 写到一个过程里,由外面传进来几个参数,根据常数建立作业,并且这个作业是在我指定的时间运行一次(就上 1 过程的语句)
2..当上面的一步完成了以后,再修改自己的作业时间(比如现在是1点,通过计算知道下一次运行的时间是3点,自己修改自己的运行时间?(这里我不知道可以吗?))
3。完成,就可以退出了,然后在3点运行,在执行上面的几个步骤。。
我现在把3 写到一个过程里,就死命的报错,气死了?
请大家帮忙????
1.sqlplus调用存储过程执行;
2.执行完毕,计算下次执行时间;
3.在crontab加一条记录,设定时间执行自身脚本(如果执行自身脚本的记录存在,则修改执行时间)。
4.退出。当然执行前最好判断一下,是否自己已经在执行(可能上一次执行未完);
另外因为是后台自动执行,执行过程中要记录一些日志,便于查询当前和历史执行状态。
SQL> begin
2 DBMS_JOB.SUBMIT(:jobno, 'test;',SYSDATE,'SYSDATE +1/1440');
3 commit;
4 end;
5 /
test 为存储过程名。定时间间下面。
SQL> variable jobno number;
SQL> begin
2 dbms_job.submit(:jobno,'test;',to_date('20-09-2005 03:00:00', 'dd-mm-yyyy hh24:mi:ss'),'sysdate+1');
3 commit;
4 end;
5 /
SQL> variable jobno number;
SQL> begin
2 dbms_job.submit(:jobno,'test;',to_date('20-09-2005 03:00:00', 'dd-mm-yyyy hh24:mi:ss'),'sysdate+1');
3 commit;
4 end;
5 /
写到一个过程里,老是错误,是怎么的?