Oracle中sequence使用

问题1

需要查询当前sequence中是否存在SEQ_IOTC_X。

解决

  • user_sequences
  • all_sequences
  • dba_sequences
SELECT * FROM user_sequences t
WHERE t.sequence_name = 'SEQ_IOTC_X'

方案与oracle中ALL_TABLES、DBA_TABLES、USER_TABLES基本一致

问题2

需要创建一个自己的sequence:SEQ_IOTC_X

解决

  1. 创建sequence:

     create sequence SEQ_IOTC_X
     minvalue 1 
     maxvalue 99999999 
     start with 1 
     increment by 1  --步长
     nocache;
    
  2. 新创建的sequence必须要先初始化才能使用:

     select seq_iot_x.nextval from dual; --初始化
    
  3. 查看当前sequence值:

     select seq_iot_x.currval from dual;
    
  4. 删除sequence:

     DROP SEQUENCE seq_iot_x;
    
  5. Tips:
    如果想要seq重新从最小值开始,需要删掉seq重建,或者一步一步回退。

参考文章

oracle SEQUENCE 修改,删除,创建
Oracle重置序列(不删除重建方式)

Oracle重置序列
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容