广

oracle数据库

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

    oracle sequence语句重置方介绍

    2018-05-07 10:24:17 次阅读 稿源:互联网
    广告
    全网推广平台,软文发布
    在开发过程中,可能会用到oracle sequence语句,本文以oracle sequence语句如何重置进行介绍,需要的朋友可以参考下
    Oracle重置sequence语句1
    Sql代码
    代码如下:

    DECLARE
    n NUMBER(10 );
    tsql VARCHAR2(100 );
    p_seqName varchar2(20 );
    BEGIN
    p_seqName := 'SEQ_RUN_ID';
    EXECUTE IMMEDIATE 'SELECT ' || p_seqName || '.NEXTVAL FROM dual ' INTO n;
    n := - (n - 1);
    tsql := 'alter sequence '|| p_seqName ||' increment by ' || n;
    EXECUTE IMMEDIATE tsql;
    EXECUTE IMMEDIATE 'SELECT ' || p_seqName || '.NEXTVAL FROM dual ' INTO n;
    tsql := 'alter sequence '|| p_seqName ||' increment by 1' ;
    EXECUTE IMMEDIATE tsql;
    EXCEPTION
    WHEN OTHERS THEN
    dbms_output.put_line( SQLERRM);
    END;

    Oracle重置sequence语句2
    Sql代码
    代码如下:

    CREATE OR REPLACE PROCEDURE RESET_SEQUENCE(p_sSeqName IN VARCHAR2)
    IS
    n NUMBER(10 );
    tsql VARCHAR2(100 );
    BEGIN
    EXECUTE IMMEDIATE 'SELECT ' || p_sSeqName || '.NEXTVAL FROM dual '
    INTO n;
    n := - (n - 1);
    tsql := 'alter sequence ' || p_sSeqName || ' increment by ' || n;
    EXECUTE IMMEDIATE tsql;
    EXECUTE IMMEDIATE 'SELECT ' || p_sSeqName || '.NEXTVAL FROM dual '
    INTO n;
    tsql := 'alter sequence ' || p_sSeqName || ' increment by 1' ;
    EXECUTE IMMEDIATE tsql;
    EXCEPTION WHEN OTHERS THEN
    NULL;
    END RESET_SEQUENCE;

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告
    广告