• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 不通過刪除重建方式 重置序列值得簡單方式。

    發表于:2007-05-25來源:作者:點擊數: 標簽:重置方式通過刪除重建
    一般來講,序列在實際 開發 過程中是經常用到的一種對象,通過它來生成主鍵是非常方便的,但是有些時候我們需要將其重新置零,通常采用的方式就是刪除后重新創建。 下面我們來看一下另外一種方式: SQL create sequence seq_1 increment by 1 start with 1 m

            一般來講,序列在實際開發過程中是經常用到的一種對象,通過它來生成主鍵是非常方便的,但是有些時候我們需要將其重新置零,通常采用的方式就是刪除后重新創建。

           下面我們來看一下另外一種方式:

    SQL> create sequence seq_1 increment by 1 start with 1 maxvalue 999999999;

    序列已創建。
    SQL> create or replace procedure seq_reset(v_seqname varchar2) as
      2  n number(10);
      3  tsql varchar2(100);
      4  begin
      5  execute immediate 'select '||v_seqname||'.nextval from dual' into n;
      6  n:=-(n-1);
      7  tsql:='alter sequence '||v_seqname||' increment by '|| n;
      8  execute immediate tsql;
      9  execute immediate 'select '||v_seqname||'.nextval from dual' into n;
     10  tsql:='alter sequence '||v_seqname||' increment by 1';
     11  execute immediate tsql;
     12  end seq_reset;
     13  /

    過程已創建。

    SQL> select seq_1.nextval from dual;

      NEXTVAL
    ---------
            2

    SQL> /

      NEXTVAL
    ---------
            3

    SQL> /

      NEXTVAL
    ---------
            4

    SQL> /

      NEXTVAL
    ---------
            5

    SQL> exec seq_reset('seq_1');

    PL/SQL 過程已成功完成。

    SQL> select seq_1.currval from dual;

      CURRVAL
    ---------
            1

    SQL>

    這樣可以通過隨時調用此過程,來達到序列重置的目的。

    此存儲過程寫的比較倉促,還可以進一步完善,在此就不再進一步講述。


    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>