## 序列号(SERIAL)类型
smallserial(int2),
serial(int4)
bigserial(int8)
DROP TABLE t_student;
CREATE TABLE t_student (
"Id" serial,
"Name" VARCHAR (256)
);
## 序列函数
函数 返回类型 描述
currval(regclass) bigint 返回最近一次用 nextval 获取的指定序列的数值
nextval(regclass) bigint 递增序列并返回新值
setval(regclass, bigint) bigint 设置序列的当前数值
setval(regclass, bigint, boolean) bigint 设置序列的当前数值以及 is_called 标志
-- 设置序列的当前数值:
SELECT
setval(
'"t_student_Id_seq"' :: regclass,
100
);
-- 获取当前序列值:
SELECT
currval(
'"t_student_Id_seq"' :: regclass
);
-- 递增序列并返回新值:
SELECT
nextval(
'"t_student_Id_seq"' :: regclass
);
## 创建序列的语法
DROP SEQUENCE seq_test;
CREATE SEQUENCE seq_test INCREMENT BY 2 MINVALUE 1 MAXVALUE 5 START WITH 2 NO CYCLE;
INCREMENT BY : 每次序列增加(或减少)的步长
MINVALUE : 序列最小值,NO MINVALUE表示没有最小值
MAXVALUE : 序列最大值,NO MAXVALUE表示没有最大值
START WITH :以什么序列值开始
CYCLE : 序列是否循环使用
OWNED BY : 可以直接指定一个表的字段,也可以不指定。