[20190530]ORACLE 18c - ALTER SEQUENCE RESTART.txt

lfree發表於2019-05-30

[20190530]ORACLE 18c - ALTER SEQUENCE RESTART.txt


--//以前遇到要重置或者調整seq比較麻煩,我有時候採用比較粗暴的方式就是刪除重建.

--//18c提供方式重置,自己測試看看.


1.環境:

SYSTEM@xxxxxx> select BANNER from v$version;

BANNER

----------------------------------------------------------------------

Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production


SYSTEM@xxxxxx> CREATE SEQUENCE Seq1 START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 9999;

Sequence created.


SYSTEM@xxxxxx> SELECT Seq1.nextval FROM dual;

   NEXTVAL

----------

         1


SYSTEM@xxxxxx> SELECT Seq1.nextval FROM dual;

   NEXTVAL

----------

         2


--//批次執行如下:

$ seq 500 | xargs -I{}  echo select seq1.nextval from  dual\; | rlsql system/xxxx@xxxxxx


SYSTEM@xxxxxx> SELECT Seq1.nextval FROM dual;


   NEXTVAL

----------

       503

--//現在已經到503.


SYSTEM@xxxxxx> ALTER SEQUENCE Seq1 RESTART;

Sequence altered.


SYSTEM@xxxxxx> SELECT Seq1.nextval FROM dual;

   NEXTVAL

----------

         1


--//現在回到1的位置.還可以這樣執行:


SYSTEM@xxxxxx> ALTER SEQUENCE Seq1 RESTART START WITH 1500;

Sequence altered.


SYSTEM@xxxxxx> SELECT Seq1.nextval FROM dual;

   NEXTVAL

----------

      1500


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2646145/,如需轉載,請註明出處,否則將追究法律責任。

相關文章