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

oracle定时任务学习笔记

2012-09-06 10:29 501 查看
-- 创建测试表
create table job_test(a date);
-- 创建错误日志表
create table job_errors(
e_user varchar2(100),
e_date date,
error_code number,
error_message varchar2(255)
)
;
-- 创建定时执行的存储过程
create or replace procedure myproc as
error_code number; -- 错误号
error_message varchar2(255); -- 错误信息
begin
insert into job_test values(sysdate);
commit;
exception
when others then
rollback;
error_code := sqlcode;
error_message := sqlerrm;
insert into job_errors(e_user,e_date,error_code,error_message)
values (user,sysdate,error_code,error_message);
end;
-- 创建JOB
variable job1 number;
begin
dbms_job.submit(:job1,'myproc;',sysdate,'sysdate+1/1440');
commit;
end;

--运行JOB
begin
dbms_job.run(:job1);
end;

--删除JOB
begin
dbms_job.remove(:job1);
end;


将 job_test 表的字段类型改为 char(1),捕获到抛出的异常:ORA-12899: value too large for column "EGROCERY2"."JOB_TEST"."A" (actual: 9, maximum: 1);

发现个问题:

以上创建后,插入JOB_TEST表中的数据,会有5秒钟的延迟,可能是和数据库有关,目前还不知道原因!

2012/9/5 14:29:04

2012/9/5 14:30:09

2012/9/5 14:26:54

2012/9/5 14:27:59

2012/9/5 14:31:14

2012/9/5 14:32:19

2012/9/5 14:33:24

2012/9/5 14:34:29

2012/9/5 14:35:34

2012/9/5 14:36:09

2012/9/5 14:36:38

2012/9/5 14:37:39

2012/9/5 14:38:44

2012/9/5 14:39:49

2012/9/5 14:40:54

2012/9/5 14:41:59

2012/9/5 14:43:04

2012/9/5 14:44:09

2012/9/5 14:45:14

2012/9/5 14:46:19
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息