oracle定时器如何写 Oracle定时器

oracle定时器怎么使用

那是自动任务创建job,你这里具体怎么改表没说,我就大致举个例子declare

网站设计制作过程拒绝使用模板建站;使用PHP+MYSQL原生开发可交付网站源代码;符合网站优化排名的后台管理系统;网站建设、网站设计收费合理;免费进行网站备案等企业网站建设一条龙服务.我们是一家持续稳定运营了10余年的成都创新互联网站建设公司。

jobno number;

begin

dbms_job.submit(jobno,'begin update table1 set a=''test''; end;',trunc(sysdate)+1,'trunc(sysdate)+1');

end;

这里第一个参数是任务编号,系统自动赋值。也可以采用isubmit来手动指定第二个参数是需要执行的任务过程,代码长的话,可以将它写到一个存储过程里,再放到里面调用,比如'pro_test;' (pro_test假定为一个存储过程名)第三个参数是,自动任务第一次执行的时间,如果需要它立即执行,则使用sysdate最后一个参数,系统根据该参数的值指定下一次的执行时间。如果需要每天0点执行,就用我上面写的 创建好job后,可以在all_jobs中查询它的状态不需要时,使用dbms_job.remove来移除。dbms_job.broken可以用来停止和启动任务

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;

怎么在oracle中做定时器呢?

创建scheduler,PL/SQL Developer里可以直接创建,也可以写SQL创建,类似以下语法:

begin

sys.dbms_scheduler.create_schedule(schedule_name = 'FRQ_CATALOG.TT',

start_date = to_date('18-10-2011 00:00:00', 'dd-mm-yyyy hh24:mi:ss'),

repeat_interval = 'Freq=Daily;Interval=0',

end_date = to_date('31-10-2011 00:00:00', 'dd-mm-yyyy hh24:mi:ss'),

comments = '');

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定时器如何写 Oracle定时器
当前路径:http://scyanting.com/article/hpdpgi.html