PostgreSQL Sequence序列的使用详解

PostgreSQL是一种关系型数据库,和Oracle、MySQL一样被广泛使用。平时工作主要使用的是PostgreSQL,所以有必要对其相关知识做一下总结和掌握,先总结下序列。

一、 Sequence序列

Sequence是一种自动增加的数字序列,一般作为行或者表的唯一标识,用作代理主键。

1、Sequence的创建

例子:创建一个seq_commodity,最小值为1,最大值为9223372036854775807,从1开始,增量的步长为1,缓存为1的循环排序Sequence。

SQL语句如下:

 CREATE SEQUENCE seq_commodity
 INCREMENT 1
 MINVALUE 1
 MAXVALUE 9223372036854775807
 START 1
 CACHE 1
 CYCLE; // 循环,表示到最大值后从头开始

 

2、查找Sequence中的值

1SELECT nextval(‘seq_commodity’);

这里nextval表示下一个值

3、修改 Sequence

用alter sequence来修改,除了start以外的所有sequence参数都可以被修改,

alter sequence 的例子 (SQL语句)

ALTER SEQUENCE seq_commodity
 INCREMENT 10
 MAXVALUE 10000
 CYCLE
 NOCACHE ;

 

当然如果想要修改start的值,可以先用 drop sequence删掉,然后再重新创建。

4、删除Drop Sequence

1DROP SEQUENCE seq_commodity;

5、Sequence分配策略

调用select nextval(seq_ commodity);返回下一个序列号后,系统优先给用户分配一个序号,接着系统的次Sequence立刻加上设置的步长(increment 1),不论此序号用户是否使用;

调用select currval(seq_ commodity);返回当前的序列号,该序列号只要没有被使用,就不会变化,如果当前请求一直使用,那么不会再分配给其他的请求,因为该序列号已经分配给当前请求。

补充:PostgreSQL 获取 SEQUENCE 列表

我就废话不多说了,大家还是直接看代码吧~

1SELECT “c”.”relname” FROM “pg_class” “c” WHERE “c”.”relkind” = ‘S’;

结束~

文章来源:脚本之家

来源地址:https://www.jb51.net/article/205227.htm

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

发布者:SEO优化专员,转转请注明出处:https://www.chuangxiangniao.com/p/893912.html

(0)
上一篇 2025年1月3日 23:57:41
下一篇 2025年1月3日 23:58:10

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • SQLite 中文指南之FAQ第1/6页

    sqllite使用过程中碰到的一些问题解决,中文版 1. 如何创建自增字段? 2. SQLite 支持哪些数据类型? 3. 为什么能向 SQLite 数据库的整型字段中插入字符串? 4. 为什么 SQLite 认为表达式 ‘0&…

    数据库 2025年1月4日
    100
  • Access创建一个简单MIS管理系统

    所谓MIS管理系统,是一个由人、计算机及其他外围设备等组成的能进行信息的收集、传递、存贮、加工、维护和使用的系统。MIS管理系统是一种新兴的技术,那么下文中就给大家介绍Access这个有历史的数据库系统如何创建一个简单的MIS管理系统。 M…

    数据库 2025年1月4日
    100
  • 读取注册表根据Office版本获取数据库连接字段

    本节主要介绍了如何根据Office版本获取数据库连接字段,以读取注册表获取Office版本,实现代码如下,感兴趣的朋友不要错过 /// /// 读取注册表,根据Office版本获取数据库连接字段 /// /// 数据库连接字段 privat…

    数据库 2025年1月4日
    100
  • PostgreSQL操作符实践技巧分享

    这篇文章主要给大家介绍了关于PostgreSQL基础知识之SQL操作符实践的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用PostgreSQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧 前言 操作符是数据库具有的…

    2025年1月4日
    100
  • SQL Server如何通过创建临时表遍历更新数据详解

    这篇文章主要给大家介绍了关于SQL Server如何通过创建临时表遍历更新数据的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 前言: 前段时间新项目上线为了赶…

    2025年1月4日
    100
  • Mac系统重置PostgreSQL密码技巧及代码展示

    PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。这篇文章主要介绍了Mac系统重置PostgreSQL密码的方法示例代码,需要的朋友可以参考下 PostgreSQL是一种特性非常齐全的自由…

    数据库 2025年1月4日
    100
  • PostgreSQL技巧分享:图(graph)的递归查询实例

    这篇文章主要给大家介绍了关于PostgreSQL图(graph)的递归查询的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用PostgreSQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧 背景 在树形递归查询这篇文…

    2025年1月4日
    100
  • PostgreSQL技巧 如何获取当前日期时间

    这篇文章主要介绍了PostgreSQL 如何获取当前日期时间及注意事项,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 在开发数据库应用或者调试代码时,经常需要获取系统的…

    数据库 2025年1月4日
    100
  • postgresql中的ltree类型使用技巧

    这篇文章主要给大家介绍了关于postgresql中ltree类型使用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用postgresql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧 postgresql有很多比较妖…

    2025年1月4日
    100
  • MongoDB通配符索引的用法实例

    这篇文章主要给大家介绍了关于MongoDB通配符索引的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 指南 MongoDB在4.2 版本推出了Wildcard …

    数据库 2025年1月4日
    100

发表回复

登录后才能评论

联系我们

156-6553-5169

在线咨询: QQ交谈

邮件:253000106@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

联系微信