初学ORCAL 谁告诉我个ORCAL的作业怎么写啊 最好有例子 谢谢

解决方案 »

  1.   

    一个简单例子,呵呵例子很老了,但能用 
    如果是版本是9I或之上,可以使用
    alter system set JOB_QUEUE_PROCESSES=10,这样可以保证数据库重启后JOB仍然有效
    创建测试表
    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  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 a;时间
    -------------------
    2001/01/07 23:51:21
    2001/01/07 23:52:22
    2001/01/07 23:53:24
      

  2.   

    DECLARE
      X NUMBER;
    BEGIN
      SYS.DBMS_JOB.SUBMIT
        ( job       => X 
         ,what      => 'MOSSOFT.TEST;'
         ,next_date => to_date('24-05-2007 16:46:52','dd/mm/yyyy hh24:mi:ss')
         ,interval  => 'SYSDATE+30/1440 '
         ,no_parse  => TRUE
        );
      SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
    END;
    /commit;