【Oracle】 Job定时任务

Oracle Job定时任务

1.创建一张测试表
– Create table
create table aaa
(
a1 VARCHAR2(500)
)
tablespace DA_DA
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
2.创建存储过程 实现向测试表插入数据
create or replace procedure proc_test as
begin
insert into aaa values (to_char(sysdate, ‘yyyy-mm-dd hh:mi’));/向测试表插入数据/
commit;
end;
3.创建job定时任务 实现自动调用存储过程
declare
job number;
BEGIN
DBMS_JOB.SUBMIT(
JOB => job, /自动生成JOB_ID/
WHAT => ‘proc_test;’, /需要执行的存储过程名称或SQL语句/
NEXT_DATE => sysdate+3/(2460), /初次执行时间-下一个3分钟/
INTERVAL => ‘trunc(sysdate,’‘mi’’)+1/(24
60)’ /每隔1分钟执行一次/
);
commit;
end;

===========
1.可以通过查询系统表查看该job信息
select * from user_jobs;

2.手动sql调用job (直接调用job可以忽略开始时间)
begin
DBMS_JOB.RUN(40); /40 job的id/
end;

3.删除任务
begin
/删除自动执行的job/
dbms_job.remove(40);
end;

4.停止job

dbms.broken(job,broken,nextdate);
dbms_job.broken(v_job,true,next_date); /*停止一个job,里面参数true也可是false,next_date(某一时刻停止)也可是sysdate(立刻停止)。 */

5.修改间隔时间
dbms_job.interval(job,interval);

6.修改下次执行时间
dbms_job.next_date(job,next_date);

7.修改要执行的操作
dbms_job.what(jobno,‘sp_fact_charge_code;’); --修改某个job名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值