同上!

解决方案 »

  1.   

    begin
      sys.dbms_job.submit(job => :job,
                          what => 'begin 
    insert  /*+append nologging*/ into table1 select * from table2;
    commit;
    end;',
                          next_date => to_date('01-12-2005 13:00:00', 'dd-mm-yyyy hh24:mi:ss'),
                          interval => 'sysdate+1');
      commit;
    end;
      

  2.   

    调用DBMS_JOB程序包.可以实现你的功能.
     不过请先检查你的JOB_QUEUE_PROCESSES参数有没有设定.
      

  3.   

    CREATE OR REPLACE PROCEDURE TEST.DOIT AS
    BEGIN
    --Do what you want
    END;
    /VARIABLE JOBNO NUMBER;
    BEGIN
    DBMS_JOB.SUBMIT(
    job => :JOBNO,
    what => 'TEST.DOIT;',
    next_date => TRUNC(SYSDATE) + 1/24,
    interval => 'TRUNC(SYSDATE) + 1/24',
        no_parse => FALSE
    );
    COMMIT;
    END;
    /
    PRINT JOBNO
      

  4.   

    variable job_num number;
    begin 
    dbms_job.submit(:job_num,'procedure_name;',sysdate,'trunc(sysdate+ 1) + (22*60+30)/(24*60)');
    commit;
    end;
      

  5.   

    请教我的需要每天早上8:30执行job,但不能编译通过:
    declare jobnum NUMBER;
    BEGIN
      DBMS_JOB.SUBMIT(job=>jobnum,
                      what=>'SECDA.pre_test;',
                      next_date=>TRUNC(sysdate)+17/48,
                      interval=>'TRUNC(sysdate)+17/48'
                      );
      COMMIT;
    END;
      

  6.   

    学习,调用JOB也象调用存储过程那样吗?
      

  7.   

    job是系统自动执行的,系统每隔一定时间检查一下是否有job的 NEXT_DATE 等于当前时间,如果是,则执行该job
      

  8.   

    job会自动运行,但是要先设定好Oracle的参数ALTER SYSTEM SET JOB_QUEUE_PROCESSES = n; 
    n是你要设定可以同时处理的job数
      

  9.   

    请教下
    ,怎样查看 已设定可以同时处理的job数
    及怎样知道是否已设好JOB_QUEUE_PROCESSES参数
      

  10.   

    我也想写一个每天凌晨(00:00:01)执行的job,可我不知道怎么写(第一次接触oracle).哪位大侠赐教下.要调用的存储过程是xpro,强调一点,要考虑下执行的延时问题,我要的是它每天都能准时执行,即都是00:00:01这个时间执行.小弟谢谢拉 ~~~~