oracle如何写定时器,oracle查看定时器

oracle定时更新(JOBS)

oracle定时更新(JOBS)

创新互联提供成都做网站、成都网站建设、网页设计,成都品牌网站建设广告投放平台等致力于企业网站建设与公司网站制作,十余年的网站开发和建站经验,助力企业信息化建设,成功案例突破近1000家,是您实现网站建设的好选择.

rm.pro_hrm_emp_info_job过程

需要每天都更新,所以先创建个procedure,再创建个job就可以实现定时更新

create or replace procedure rm.pro_hrm_emp_info_job is

zm

begin

update rm.hrm_emp_info

set ages = to_number(TRUNC(nvl((sysdate brith_date) / 365, 0))),

leng_serv = to_number(TRUNC(nvl((sysdate work_date) / 365, 0))),

ins_len_ser = to_number(TRUNC(nvl((sysdate ente_appe_date) / 365,

0)));

commit;

end pro_hrm_emp_info_job;

相应的`job

declare

jobno number;

begin

dbms_job.submit(jobno,’rm.pro_hrm_emp_info_job;’,trunc(sysdate),’trunc(sysdate)+1’);每天零点更新

commit;

end;

/

分解下job

dbms_job.submit(jobno, job号,由sys.jobseq生成

’rm.pro_hrm_emp_info_job;’, 要执行的procedure

trunc(sysdate), 下次要执行的时间

’trunc(sysdate)+1’); 每次间隔的时间,此处的1标识一天 也可1/1440每一分钟执行一次

查看

select * from sys.user_jobs;

其中创建的jobno(任务号)由sys.jobseq序列生成

主由packages中的sys.dbms_job执行

细节可以查看sys.dbms_job包内容。 ;

oracle 如何编写定时脚本

用job,具体用法:

declare

n_job binary_integer;

begin

dbms_job.submit(n_job, '你要执行的东西', sysdate, TRUNC(LAST_DAY(SYSDATE))+4+2/24);

end;

-- 每月4号执行

dbms_job.submit(n_job_01,'你调的东西',sysdate,'TRUNC(LAST_DAY(SYSDATE))+4+2/24');

-- 每分钟执行一次

dbms_job.submit(n_job_01,'你调的东西',sysdate,'TRUNC(sysdate,’mi’) + 1 / (24*60)');

-- 凌晨两点执行

dbms_job.submit(n_job_01,'你调的东西',sysdate,'TRUNC(sysdate) + 1 + 2/24');

-- 每周一凌晨2点执行 周一是每周的第二天next_day(sysdate,2)同理周二是第三天,next_day(sysdate,3)

dbms_job.submit(n_job_01,'你调的东西',sysdate,'TRUNC(next_day(sysdate,2))+2/24');

-- 每月1日凌晨两点执行

dbms_job.submit(n_job_01,'你调的东西',sysdate,'TRUNC(LAST_DAY(SYSDATE))+1+2/24');

-- 每季第一天凌晨两点执行

dbms_job.submit(n_job_01,'你调的东西',sysdate,'TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 2/24');

-- 每年7月1日和1月1日凌晨2点

dbms_job.submit(n_job_01,'你调的东西',sysdate,'ADD_MONTHS(trunc(sysdate,'yyyy'),6)+2/24');

-- 每年1月1日凌晨2点执行

dbms_job.submit(n_job_01,'你调的东西',sysdate, 'Add_months(trunc(sysdate,'yyyy'), 12) +2/24');

oracle定时任务时间怎么写?

我感觉你应该是不知道怎么写每月和每年吧。其实很简单,把你下次时间的字符串拿出来看下就行。下面是代码。

DECLARE

I4 INTEGER;I5 INTEGER;

BEGIN

--每月5号中午12点

DBMS_JOB.SUBMIT(I4,'YOUR PROC;',SYSDATE,'TRUNC(SYSDATE, ''MM'') + 4 + 12 / 24');

--每年1月10号中午12点

DBMS_JOB.SUBMIT(I5,'YOUR PROC;',SYSDATE,'TRUNC(SYSDATE, 'Y') + 9 + 12 / 24');

COMMIT;

END;

如何使用plsql工具创建oracle数据库的定时器

通过plsql查看tables、views等文件夹,找到定时器对应的DBMS_Jobs文件夹。

在文件夹或者在已有的定时器上右键 new... 创建一个新的job(定时器)

输入红色选中的必输参数。What里面是一些存储过程,可以是一个或者多个。多个之间用分好;隔开,可以数据一下注释说明,格式“/*存过说明*/。点击应用即可保存。点击View SQL可以查看job对应的sql脚本。

如果想查看一些脚本,处理通过打开文件夹的方式,也可以使用更方便的sql语句进行查看。

SELECT * FROM dba_jobs;

注意,如果next_date是4000-1-1表示这个脚本已经是停止状态。

如果想查询某个存储过程对应的哪个job可以通过dba_jobs表中what字段根据条件查询查看job.

dba_jobs中的job字段对应的值就和DBMS_Jobs中对应的数字是一致的,可以对信息进行修改更新。

oracle设置定时器怎么让它自动调用JAVa接口

在web.xml配置一个servlet设置启动顺序优先级高些(说白了就是web服务启动时调用这个类)

servlet

servlet-namet1/servlet-name

servlet-classcom.base.test.T1/servlet-class

!-- 如果需要自动加载,加下面一句 --

load-on-startup1/load-on-startup

/servlet

在这个T1类中的初始化方法ini中写一个Timer类,按shcedule 定时去执行那个业务方法即可。


分享题目:oracle如何写定时器,oracle查看定时器
分享网址:http://myzitong.com/article/phcdee.html