zoukankan      html  css  js  c++  java
  • 定期重置数据库序列

    //建立一个从0开始的序列

    drop sequence seq_sss_id;
    create sequence seq_sss_id
    increment by 1
    start with 0
    minvalue 0 
    maxvalue 999999999;

    //重置序列的存储过程

    create or replace procedure reset_jis_sequence as
    n number(10);
    tsql varchar2(100);
    begin
    execute immediate 'select seq_sss_id.nextval from dual' into n;
    n:=-n;
    tsql:='alter sequence seq_sss_id increment by '|| n;
    execute immediate tsql;
    execute immediate 'select seq_sss_id.nextval from dual' into n;
    tsql:='alter sequence seq_sss_id increment by 1';
    execute immediate tsql;
    end reset_jis_sequence;

    //job定时(每天0:00定时运行reset_jis_sequence 储存过程)
    declare
    job number;
    begin
    sys.dbms_job.submit(job => job,
    what => 'reset_jis_sequence;',
    next_date => to_date('21-04-2018', 'dd-mm-yyyy'),
    interval => 'TRUNC( SYSDATE + 1)');
    commit;
    end;

    //查询job的id
    select job,what,failures,broken from user_jobs

    //根据job的ID执行job
    begin
    dbms_job.run(jobId);
    end;

    //根据job的ID删除job
    BEGIN

    SYS.DBMS_JOB.REMOVE(jobId);

    COMMIT;

    END;

    来源:忍着不哭泣,转载请注明作者或出处,尊重原创!恶意抄袭,一次警告,二次法律见!

  • 相关阅读:
    hdoj_1556Color the ball
    wchar_t与char转换(总结)
    算法艺术——网络最大流
    poj_3268Silver Cow Party
    poj_2352Stars
    BellmanFord模板
    saas模式
    什么是管道
    什么是CMMI
    saas模式
  • 原文地址:https://www.cnblogs.com/johnnyC/p/9502439.html
Copyright © 2011-2022 走看看