您的位置:首页 > 其它

job的使用

2014-03-06 10:40 627 查看
1:创建job:

方式一:命令窗口执行

procedure submit(job out binary_integer,

  what in varchar2,

  next_date in date,

  interval in varchar2,

  no_parse in boolean:=False)

  varivalbe job1 number;

 begin

  sys.dbms_job.submit(job => :job,

                      what => '要调用的方法;',

                      next_date => to_date('06-03-2014 09:07:00', 'dd-mm-yyyy hh24:mi:ss'),

                      interval => 'trunc(sysdate+1)+(1/24*9)+(1/24/60*7)+(1/24/60/60*0)');

  commit;

end;

方式二:在plSQL中的做法

  declare

  job number;

  begin

    sys.dbms_job.submit(job,'prc_g_test;',sysdate,'trunc(sysdate+1)+(1/24*9)+(1/24/60*7)+(1/24/60/60*0)');

  end;

'要调用的方法‘可以是一个存储过程,也可以是一个包中的方法(包名.方法).

 

如:

2:

/*创建一个存储过程也就是所要'要调用的方法'*/

create or replace procedere prc_g_test is

 begin

 insert into emp values(......);

end prc_g_test;

综上描述表明,每天9:07:00住emp表中入一条数

 

3、查看创建的job

查看相关job信息

1、相关视图

dba_jobs

all_jobs

user_jobs

dba_jobs_running 包含正在运行job相关信息。

如:

select * from all_jobs --for update;

4、运行JOB

说明:Run()过程用来立即执行一个指定的工作。这个过程只接收一个参数:

SQL> begin

2 dbms_job.run(:job);

3 end;

4 /

----------------------------------------------------------------------------------

在plSQL中的做法是:

begin

dbms_job.run(3017);

end;

----------------------------------------------------------------------------------

5、删除JOB

SQL> begin

2 sys.dbms_job.remove(:job);--:job可以用dba_jobs.job的值代替如:1198

3 end;

4 /

*/

在plSQL中删除job的做法是:

begin

dbms_job.remove(198);--198是具体的job

end;

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  job