问题是这样的:
    服务器上的系统时间每经过一天,就更新一个表里的一个字段,请问该怎么写啊,谢谢

解决方案 »

  1.   

    CREATE OR REPLACE PROCEDURE TEST.DO_UPDATE AS
    BEGIN
    UPDATE TT SET COL=..;
    COMMIT;
    END;
    /
    VARIABLE JOBNO NUMBER;
    BEGIN
    DBMS_JOB.SUBMIT(
    job => :JOBNO,
    what => 'TEST.DO_UPDATE;',
    next_date => TRUNC(SYSDATE)+1,
    interval => 'TRUNC(SYSDATE)+1',
        no_parse => FALSE
    );
    COMMIT;
    END;
    /
    PRINT JOBNO
      

  2.   

    也就是说用一个计划任务JOB 来完成这个工作,每天凌晨0点准时执行如果还有更进一步的需求,可以上网搜索 "DBMS_JOB"
      

  3.   

    谢谢boydgmx,我创建好了,就等着看明天是否起作用了。:)
    我想再问下,删除jobno怎么删除呢,这个好象不行
    begin
    dbms_job.remove(:job1);
    end;  
      

  4.   

    select job from user_jobs;得到job的编号,比如是 1然后 execute dbms_job.remove(1);