0%

oracle序列

定义

  • 用于生产唯一、连续序号的对象
  • 可以升序,可以降序
  • CREATE SEQUENCE 创建序列
1
2
3
4
5
6
7
CREATE SEQUENCE s1
START WITH 1
INCREMENT BY 1
MAXVALUE 2000
MINVALUE 1
NOCYCLE -- 达到最大值后停止生成下一个值
CACHE 10; --指定内存中预先生成的序列数

查看用户的序列

1

2

3

取值

  • 第一次取值必须用NEXTVUL

4

测试

5

应用

  • 生成有规则的序列,例如2021_1 2021_2… 只要直接拼接就可以 ‘2021_’ || to_char(s1.nextvul)

修改序列

  • 使用ALTER SEQUENCE语句修改序列,不能修改序列的START WITH参数
1
ALTER SEQUENCE s1 MAXVALUE 5000 CYCLE;

删除序列

1
SROP SEQUENCE s1;