PostgreSQL是关系型数据库的一种,和Oracle、MySQL一样被广泛使用。工作中有用到过PostgreSQL,这里对序列的知识点做下总结。
Sequence是一种自动增加的数字序列,一般作为行或者表的唯一标识,用作代理主键。
1、创建Sequence
例如:创建一个seq_commodity,最小值(MINVALUE)为1,最大值(MAXVALUE)为9223372036854775807,从1开始,增量的步长为1,缓存为1的循环排序Sequence。CYCLE 表示循环,是指从最大值后面从头开始。
我们可以写出SQL语句如下:
CREATE SEQUENCE seq_commodity
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 1
CYCLE;
2、查找 Sequence中的值
SELECT nextval('seq_commodity');
其中nextval表示下一个值。
3、修改 Sequence
用alter sequence来修改,上面创建的Sequence语句中除了start以外的所有sequence参数都可以被修改。
看下alter sequence 的SQL语句
ALTER SEQUENCE seq_commodity
INCREMENT 10
MAXVALUE 10000
CYCLE
NOCACHE ;
当然如果想要修改start的值,可以先 drop