创建JOB

时间:2023-12-16 19:55:14

1、创建一张表g_test
create table G_TEST
(
ID NUMBER(12),
C_DATE DATE
)
2、创建一个sequence
create sequence G_SEQ
minvalue 1
maxvalue 1024
start with 141
increment by 1
cache 20;
3、创建一个存储过程
create or replace procedure prc_g_test is
begin
insert into g_test values(g_seq.nextval,sysdate);
end prc_g_test;

variable job1 number;
begin
dbms_job.submit(job => :job1,
what => 'prc_g_test;',
next_date => sysdate,
interval => 'sysdate + 1/1440');
commit;
end;
创建JOB
  SQL> variable job1 number;
  SQL> begin
   2 dbms_job.submit(:job1,'MYPROC;',sysdate,'sysdate+1/1440');  --每天1440分钟,即一分钟运行test过程一次
   3 end;
   4 /
 运行JOB
  SQL> begin
   2 dbms_job.run(:job1);
   3 end;
   4 /
  删除JOB
  SQL> begin
   2 dbms_job.remove(:job1);
   3 end;
   4 /
查看相关job信息
1、相关视图
dba_jobs
all_jobs
user_jobs
dba_jobs_running 包含正在运行job相关信息。
如:
select * from dba_jobs