oracle job:[1]创建oracle job

作者:白雪 | 创建时间: 2023-05-15
主要使用场景:定时在后台执行相关操作(如每天晚上0点将一张表的数据保存到另一                         张表中 等 类似linux crontab) 实验内容:定时插入数据到一张表中 个人:oracle job最好少用...
oracle job:[1]创建oracle job

操作方法

创建一个简单的临时测试表 create table test_job ( id number(12), c_date date );

创建一个简单的临时序列 create sequence seq_test_job_id minvalue 1 maxvalue 9999999999999999 start with 141 increment by 1 cache 20; minvalue  表示最小值 maxvalue 自增长最大值 start with 141 表示从141开始 increment by 1 每次加1 seq_test_job_id.nextval  大小为142

创建一个存储过程 将数据插入到test_job 表中 create or replace procedure pro_test_job is begin insert into test_job values(seq_test_job_id.nextval,sysdate); end pro_test_job;

创建一个job,创建完之后,会自动运行 declare job number; begin --每天1440分钟,即一分钟运行test过程一次 sys.dbms_job.submit(job,'pro_test_job;',sysdate,'sysdate+1/1440'); end; submit()函数,有五个参数:job,what,next_date,interval与no_parse PROCEDURE Submit ( job       OUT binary_ineger, What      IN  varchar2, next_date IN  date, interval  IN  varchar2, no_parse  IN  booean:=FALSE) job 指一个job的唯一标识。 what 指 这个job需要执行的plsql语句。 next_date 指下一次何时将运行这个job。 interval  指这个job执行的频率 no_parse

检查oracle job是否正常运行 select * from job_test;

查看job select job,what,next_date,interval from dba_jobs;

手动运行job begin dbms_job.run(3);   --3 表示 是dba_jobs中job列 end;

删除job begin dbms_job.remove(3); end; 注意:删除只能本用户删除,否则报错 ora-23421

点击展开全文

更多推荐