use job
search.... 

解决方案 »

  1.   

    请参考:
    以下是每天1点执行we_job的procedure:
    declare
        i_job  number;
    BEGIN
        dbms_job.submit(i_job,'we_job;',trunc(sysdate)+1+1/24,'trunc(sysdate)+1+1/24');
    END;
    /运行以上语句后,检查:
    select JOB,what,BROKEN,TO_CHAR(NEXT_DATE,'yyyy-mm-dd hh24:mi:ss') NEXT_TIME,TO_CHAR(LAST_DATE,'yyyy-mm-dd hh24:mi:ss') LATS_RUN FROM user_jobs;
      

  2.   

    不赞成楼上的方案。
    写好存储过程后,直接设置作业(job)即可,使用PL/SQL Developer可轻松完成。
      

  3.   

    举例说明:
    BEGIN
       DBMS_JOB.SUBMIT(
        'DECLARE
    v_sDptcde varchar2(11):=''201'';
    v_SucessRows NUMBER:=0;
    v_FailRows NUMBER:=0;
    BEGIN
        --要调用的存储过程,举例
    PackageName.ProcedureName(v_sDptcde,v_SucessRows,v_FailRows);
    END;'
        ,to_date('2003-05-23 23:00','YYYY-MM-DD HH24:MI'), --下次执行的时间
        'SYSDATE + 1'
        );
    END;此job为每晚11:00定时执行
      

  4.   

    使用图形界面可以轻松设置joboem
      

  5.   

    某月某日某点启动写法为:
    next_date =>
     to_date(to_char(trunc(last_day(sysdate)+25,'Day')+1,'yyyy-mm-dd')||' 10:00:00','yyyy-mm-dd hh24:mi:ss')
      

  6.   

    使用dbms_job当然可以,但必须是存储过程不可以有传入参数或者传出参数,不知道楼主要运行什么样的存储过程。
      

  7.   

    是要有参数的,能详细介绍一下dbms_job的使用吗?