oracle job 问题 求助:在oracle 10g中要写一个job,要求是在每年的6月30号与12月31号晚上10:30执行,就是第一次执行时间为2007-06-30 PM 10:30 ,间隔时间为半年执行一次。如何编写?需要代码,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 example:-------------------------------------------------------------------------------------一个简单例子: 创建测试表 SQL> create table TEST(a date); 表已创建。 创建一个自定义过程 SQL> create or replace procedure MYPROC as 2 begin 3 insert into TEST values(sysdate); 4 end; 5 / 过程已创建。 创建JOB SQL> variable job1 number; SQL> SQL> begin 2 dbms_job.submit(:job1,'MYPROC;',sysdate,'sysdate+1/1440'); --每天1440分钟,即一分钟运行test过程一次 3 end; 4 / PL/SQL 过程已成功完成。 运行JOB SQL> begin 2 dbms_job.run(:job1); 3 end; 4 / PL/SQL 过程已成功完成。 SQL> select to_char(a,'yyyy/mm/dd hh24:mi:ss') 时间 from TEST; 时间 ------------------- 2001/01/07 23:51:21 2001/01/07 23:52:22 2001/01/07 23:53:24 删除JOB SQL> begin 2 dbms_job.remove(:job1); 3 end; 4 / PL/SQL 过程已成功完成。 你的就是6个月执行一次。NEXT_DATE:=to_date('2007-6-30','yyyy-mm-dd');INTERVAL:=last_day(add_months(to_date('2007-6-30','yyyy-mm-dd'),6)) 请写具体些,我是头一次写Job,最好写完整点,谢谢了 下面是我写的job:begin sys.dbms_job.submit(job => :job, what => 'test2;', next_date => to_date('30-06-2007 22:00:00', 'dd-mm-yyyy hh24:mi:ss'), interval => 'last_day(add_months(to_date(''2007-06-30 22:00:00'',''yyyy-mm-dd hh24:mi:ss''),6))'); commit;end可是执行一次之后,没有没有再执行???????? 如何取出7天前到当前日期的所有记录? 【求助】一直坛友没有给解决的问题:如何给表中某个字段添加具体的值? 如何写出sql语句实现按照数值区间分组统计求和 请问:利用imp当中的哪些辅助命令,实现导入一个通过exp命令备份出来dmp文件,导入后覆盖现有数据的命令 很难的SQL oracle for linux的安装文件有下载的吗?有没有安装光盘买? 关于oracle的启动的问题,疑惑 在线求助date问题 关于DBMS_SQL包,动态SQL语句的问题 关于游标的难题,快来帮我看看!高分相赠! Oracle 8.15 报错 关于企业管理器中的疑云,请求大家的帮助!!!!!!!!!!!!!!!!!
-------------------------------------------------------------------------------------
一个简单例子:
创建测试表
SQL> create table TEST(a date);
表已创建。
创建一个自定义过程
SQL> create or replace procedure MYPROC as
2 begin
3 insert into TEST values(sysdate);
4 end;
5 /
过程已创建。
创建JOB
SQL> variable job1 number;
SQL>
SQL> begin
2 dbms_job.submit(:job1,'MYPROC;',sysdate,'sysdate+1/1440'); --每天1440分钟,即一分钟运行test过程一次
3 end;
4 /
PL/SQL 过程已成功完成。
运行JOB
SQL> begin
2 dbms_job.run(:job1);
3 end;
4 /
PL/SQL 过程已成功完成。
SQL> select to_char(a,'yyyy/mm/dd hh24:mi:ss') 时间 from TEST;
时间
-------------------
2001/01/07 23:51:21
2001/01/07 23:52:22
2001/01/07 23:53:24
删除JOB
SQL> begin
2 dbms_job.remove(:job1);
3 end;
4 /
PL/SQL 过程已成功完成。
INTERVAL:=last_day(add_months(to_date('2007-6-30','yyyy-mm-dd'),6))
begin
sys.dbms_job.submit(job => :job,
what => 'test2;',
next_date => to_date('30-06-2007 22:00:00', 'dd-mm-yyyy hh24:mi:ss'),
interval => 'last_day(add_months(to_date(''2007-06-30 22:00:00'',''yyyy-mm-dd hh24:mi:ss''),6))');
commit;
end
可是执行一次之后,没有没有再执行????????