我想在每天的凌晨1点钟触发事件来删除3天以前的数据,表名是aa,表空间名是bb,数据库名是cc,时间字段为date,请问该怎么写?

解决方案 »

  1.   

    不是触发器,而是job
    例如:
    VARIABLE jobno number;
    begin
          DBMS_JOB.SUBMIT(:jobno, 
                  'delete from aa where date<sysdate-3;', 
                   SYSDATE, 'trunc(SYSDATE) + 25/24');
             commit;
    end;
    /
      

  2.   

    见笑啦,我没写过,请问这一段语句应该在哪运行,是PL/SQL中吗,直接运行就可以吗?
      

  3.   

    在sql plus中运行有错误 “间隔必须以将来的一个时间作评估”怎么回事啊
      

  4.   

    variable n number;
    begin
    dbms_job.submit(:n,'delete from aa where date<sysdate-3;',sysdate,'trunc(sysdate+1)+1/24');
    commit;
    end;
    /PL/SQL procedure successfully completed
    n
    ---------
    514
      

  5.   

    请问上面的,n和number是任意去名字吗,都代表什么意思啊
      

  6.   

    VARIABLE job1 number; 
    begin 
    DBMS_JOB.SUBMIT(:job1,''delete from aa where date<sysdate-3;',sysdate,'sysdate+1/24'); 
    commit; 
    end;