请教:    有个存储过程myproc    系统调用作业job1并判断每月的最后一天凌晨零点自动调用mypro该怎么写?dbms_job.submit(:job1,'myproc;',.......................); 谢谢。

解决方案 »

  1.   

    [Q]怎么样在ORACLE中定时运行存储过程
    [A]可以利用dbms_job包来定时运行作业,如执行存储过程,一个简单的例子,提交一个作业:
    VARIABLE jobno number;
    BEGIN
    DBMS_JOB.SUBMIT(:jobno, 'ur_procedure;',SYSDATE,'SYSDATE + 1');
    commit;
    END;
    之后,就可以用以下语句查询已经提交的作业
    select * from user_jobs;
      

  2.   

    我说的是:“判断每月的最后一天凌晨零点自动调用myproc”
      

  3.   

    每月的最后一天凌晨零点自动调用,
    只须设置以下参数
    :NEXT_DATE=16-11-2005 00:00:00
    :INTERVAL=TRUNC(LAST_DAY(SYSDATE))
      

  4.   

    next_date=>'LAST_DAY(TRUNC(SYSDATE))'
      

  5.   


    上面笔误,正确如下:next_date=>LAST_DAY(TRUNC(SYSDATE)),
    interval=>'LAST_DAY(TRUNC(SYSDATE))',
      

  6.   

    谢谢boydgmx,我创建好了,就等着看明天是否起作用了。:)
    我想再问下,删除jobno怎么删除呢,这个好象不行
    begin
    dbms_job.remove(:job1);
    end;  
      

  7.   

    先从数据字典user_jobs中找到相应的jobid号,然后 在用你的那句:dbms_job.remove(:jobid);