为了账号安全,请及时绑定邮箱和手机立即绑定

PostgreSQL之Sequence序列(转)

标签:
深度学习

本文转载自:https://blog.csdn.net/omelon1/article/details/78798961

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中的值

SELECT 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

DROP SEQUENCE seq_commodity;

回到顶部

5、Sequence分配策略

调用select nextval(seq_ commodity);返回下一个序列号后,系统优先给用户分配一个序号,接着系统的次Sequence立刻加上设置的步长(increment 1),不论此序号用户是否使用;
调用select currval(seq_ commodity);返回当前的序列号,该序列号只要没有被使用,就不会变化,如果当前请求一直使用,那么不会再分配给其他的请求,因为该序列号已经分配给当前请求。

作者:养码青年        

       出处:http://www.cnblogs.com/zhenghengbin/        

       本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利



点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消