专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

oracle序列(sequence)信息--笔记 oracle 序列

ins518 2024-10-18 08:45:04 技术文章 15 ℃ 0 评论

oracle序列(sequence)信息--笔记

  1. sequence与表没有关系,是独立存在的。
  2. Create Sequence
1. Create Sequence
首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限。
创建语句如下:
CREATE SEQUENCE seq_tablename
minvalue 1
INCREMENT BY 1 -- 每次加1个
START WITH 1 -- 从1开始计数
NOMAXvalue -- 不设置最大值,maxvalue 99999999
NOCYCLE -- 一直累加,不循环
CACHE 10; --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,
     也可以设置为---------NOCACHE
说明:
minvalue:序列最小值
maxvalue/nomaxvalue:序列最大值/没有最大值
cache/nocache:nocache不缓存。cache缓存。开启缓存,效率高,
只是如果数据库宕机了,缓存丢失,会出现序列跳号情况。

3.查看已有sequence:

select * from user_sequences/all_sequences;

select SEQ_UPSR_DICT_DTL.currVAL--返回 sequence的当前值
,SEQ_UPSR_DICT_DTL.nextVAL--增加sequence的值,然后返回 增加后sequence值
from dual;

select * from all_sequences-- user_sequences
where SEQUENCE_NAME='SEQ_UPSR_DICT_DTL';

4.Alter Sequence

拥有ALTER ANY SEQUENCE 权限才能改动sequence. 可以alter除start以外的所有sequence参数.如果想要改变start值,必须 drop sequence 再 re-create。

例:

alter sequence SEQTEST maxvalue 9999999;

另: SEQUENCE_CACHE_ENTRIES参数,设置能同时被cache的sequence数目。

5.Drop Sequence

DROP SEQUENCE seq_tablename;


2022-5-8

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表