我想在ORACLE服务器上 建一个存储过程,每天晚上2点清楚TABLE1的数据,请问怎么写呢?谁能写个例子吗

解决方案 »

  1.   

    第一建立过程:
    create or replace procedure yourproc is
    begin
      execute immediate 'truncate table yourtable';
    end yourproc;
    第二建立作业:(即让这个过程每天2点执行)
    创建JOB
    SQL> variable job1 number;
    SQL> begin
      2  dbms_job.submit(:job1,'yourproc;',sysdate,'trunc(sysdate+1)+2/24');
      3  end;
      4  /
    PL/SQL 过程被成功完成
    job1
    ---------
    162SQL> commit;
    第三、保正 JOB_QUEUE_PROCESSES参数不为0,job才可以每天运行;
    select * from v$parameter t where t.name like 'job%'
    可以查看value是否为0
    如果是就用
    alter system set JOB_QUEUE_PROCESSES=4 
    注意:每次oralce重启后要查看一下这个值;
      

  2.   

    方法有2个,一是写个过程然后在job里处理,楼上说的很清楚,二是写个脚本用windows的任务计划