oracle--JOB使命
发布时间:2021-03-09 16:43:13 所属栏目:站长百科 来源:网络整理
导读:? ? ? 1.建设一张测试表 -- Create tablecreate table A8( a1 VARCHAR2(500))tablespace TT1 pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K next 1M minextents 1 maxextents unlimited ); ? ?2.建设存储进程 实现向测试表插入数据 create or r
|
? ? ? 1.建设一张测试表
-- Create table
create table A8
(
a1 VARCHAR2(500)
)
tablespace TT1
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
? ?2.建设存储进程 实现向测试表插入数据 create or replace procedure proc_add_test as begin insert into a8 values (to_char(sysdate,‘yyyy-mm-dd hh:mi‘));/*向测试表插入数据*/ commit; end; 3.建设job按时使命 ?实现自动挪用存储进程(当前时刻 17:03)
declare
job number;
BEGIN
TT1.SUBMIT(
JOB => job,/*自动天生JOB_ID*/
WHAT => ‘proc_add_test;‘,/*必要执行的存储进程名称或SQL语句*/
NEXT_DATE => sysdate+3/(24*60),/*首次执行时刻-下一个3分钟*/
INTERVAL => ‘trunc(sysdate,‘‘mi‘‘)+1/(24*60)‘ /*每隔1分钟执行一次*/
);
commit;
end;
4.也就是应该从17:06开始 每隔1分钟执行一次存储进程 ? 下面是截至17:12分的测试表的数据
二 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名 ? 三 其他常识 1.存job信息的表user_jobs首要字段声名 ? |




