可以利用dbms_job包来定时运行作业,如执行存储过程,一个简单的例子,提交一个作业:
VARIABLE jobno number;
BEGIN
DBMS_JOB.SUBMIT(:jobno, 'ur_procedure;'SYSDATE,'SYSDATE + 1');
commit;
END;
VARIABLE jobno number;
BEGIN
DBMS_JOB.SUBMIT(:jobno, 'ur_procedure;'SYSDATE,'SYSDATE + 1');
commit;
END;
解决方案 »
- Oracle 11g 用sqlplus登录的时候在输入口令时怎么不能输入字符?求高手解释。小弟谢了
- 怎么能够更新另外一台机器上的数据库信息
- 提一个小问题。。HELP
- mysql 的数据库,有没有办法转到oracle中,大家谈谈思路吧
- oracle实例
- oracle 9i 数据链接 sql server 报ora-28545 错误,是否跟NTFS有关
- SYBASE的下列语句在ORACEL中如何写??
- EXECUTE IMMEDIATE问题,想请教各位
- 请问ODBC怎么设置呢
- 求助:怎么把全天的数据分成小时级别的数据
- 隐式游标的问题?
- 关于更新 如何对 两个表关联后查出的记录的某个表栏位进行更新???
'your_procedure;',//要执行的过程
trunc(sysdate)+1/24,//下次执行时间
'trunc(sysdate)+1/24+1'//每次间隔时间
);
删除job:dbms_job.remove(jobno);
修改要执行的操作:job:dbms_job.what(jobno,what);
修改下次执行时间:dbms_job.next_date(job,next_date);
修改间隔时间:dbms_job.interval(job,interval);
停止job:dbms.broken(job,broken,nextdate);
启动job:dbms_job.run(jobno);
例子:
VARIABLE jobno number;
begin
DBMS_JOB.SUBMIT(:jobno,
'Procdemo;',
SYSDATE, 'SYSDATE + 1/720');
commit;
end;
/