SQL> create table a(a date);表已创建。创建一个自定义过程
SQL> create or replace procedure test as
  2  begin
  3  insert into a values(sysdate);
  4  end;
  5  /过程已创建。创建JOB
SQL> variable job1 number;
SQL> 
SQL> begin
  2  dbms_job.submit(:job1,'test;',sysdate,'sysdate+1/1440');  --每天1440分钟,即一分钟运行test过程一次
  3  commit;
  4  end;
  5  /PL/SQL 过程已成功完成。运行JOB
SQL> begin
  2  dbms_job.run(:job1);
  3  end;
  4  /PL/SQL 过程已成功完成。

解决方案 »

  1.   

    VARIABLE  jobno  number;  
    begin  
               DBMS_JOB.SUBMIT(:jobno,    
                               'Procdemo;',    
                                 SYSDATE,  'trunc(sysdate,'D')+25/24');//每天凌晨1点执行过程Prodemo  
                     commit;  
    end;  
    /  
    ---------------------------------------------------------------  
     
    oracle可以定时执行过程  
    这个功能叫作业(JOB)。  
    详细使用方法可以参考oracle文档中的dbms_job包的使用方法
    一个简单例子: 创建测试表
    SQL> create table test(rq date);表已创建。创建一个自定义过程
    SQL> create or replace procedure p_test 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,'p_test;',sysdate,'sysdate+1');  --每天运行p_test过程一次
      3  end;
      4  /PL/SQL 过程已成功完成。运行JOB
    SQL> begin
      2  dbms_job.run(:job1);
      3  end;
      4  /PL/SQL 过程已成功完成。
    删除JOB
    SQL> begin
      2  dbms_job.remove(:job1);
      3  end;
      4  /PL/SQL 过程已成功完成。
      

  2.   

    你可以使用PL/SQL这个工具,很方便