微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgresql创建序列查询序列

## 序列号(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 : 可以直接指定一个表的字段,也可以不指定。

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐