您的位置:首页 > 数据库 > Oracle

oracle 创建DBMS_Jobs 创建oracle定时任务

2013-12-30 23:39 519 查看
--具体代码如下
--必须声明一个number变量,变量名任意
VARIABLE jobno number;
begin
--:jobno是上面的变量名,必须一致。
--第二个参数是你要执行的任务,可以是存储过程,可以是函数,也可以是sql代码。
--第三个是何时开始执行。
--第四个参数是执行完毕后的下次执行时间。如果要设置每天0点开始执行,可以写to_date(to_char(SYSDATE + 1, 'yyyy-MM-dd') || ' 00:00:01', 'yyyy-MM-dd hh24:mi:ss')
DBMS_JOB.SUBMIT(:jobno,'yourAutoRunProcedure;',SYSDATE,'sysdate+1/24/60');
end;
/


注意:以上代码片段直接在pl sql的Command Window中执行,有可能出现的错误有

1. ORA-01008: 并非所有变量都已绑定

解决办法:必须在begin之前声明任务名变量 VARIABLE jobno number;

2.ORA-06550: 第 1 行, 第 93 列:

PLS-00905: 对象 XXX.YOUR_AUTO_RUN_PROCEDURE 无效

ORA-06550: 第 1 行, 第 93 列:

PL/SQL: Statement ignored

ORA-06512: 在 "SYS.DBMS_JOB", line 79

ORA-06512: 在 "SYS.DBMS_JOB", line 136

ORA-06512: 在 line 6

解决办法:存储过程YOUR_AUTO_RUN_PROCEDURE 有编译错误,改写并重新编译,编译通过后再执行以上语句。

PS:欢迎转载,请注明原出处。

/article/8263233.html

小的新浪微博:http://weibo.com/zhangle1024/ 欢迎关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: