oracle JOB

--存储过程
create or replace procedure pro_AAA_TEST as
begin
insert into AAA_TEST values (to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'), to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'), to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'));
end;


--建立job
variable job_aaa NUMBER;
begin
sys.dbms_job.submit(:job_aaa, 'pro_AAA_TEST;', sysdate, 'sysdate+1/1440');
end;
/

--描述 INTERVAL参数值
--每分钟 'sysdate+1/1440'
--每天午夜12点 'TRUNC(SYSDATE + 1)'
--每天早上8点30分 'TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)'
--每星期二中午12点 'NEXT_DAY(TRUNC(SYSDATE ), ''TUESDAY'' ) + 12/24'
--每个月第一天的午夜12点 'TRUNC(LAST_DAY(SYSDATE ) + 1)'
--每个季度最后一天的晚上11点 'TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), 'Q' ) -1/24'
--每星期六和日早上6点10分 'TRUNC(LEAST(NEXT_DAY(SYSDATE, ''SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6×60+10)/(24×60)'

--运行job
begin
dbms_job.run(:job_aaa); --也可以用dbms_job.run(27);
end;
/

--查询job
-- dba_jobs
--all_jobs
--user_jobs
--dba_jobs_running 包含正在运行job相关信息。
select * from user_jobs

--删除job
begin
dbms_job.remove(27); --:job可以用dba_jobs.job的值代替如:也可以用jobid dbms_job.remove(:job_feeid_create);
end;
/

--查询
select * from AAA_TEST

posted @ 2012-07-31 21:08  七郎  Views(220)  Comments(0Edit  收藏  举报