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

[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


请使用浏览器的分享功能分享到微信等