Sequence序列怎么在PostgreSQL中使用-创新互联
这篇文章将为大家详细讲解有关Sequence序列怎么在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中的值
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);返回当前的序列号,该序列号只要没有被使用,就不会变化,如果当前请求一直使用,那么不会再分配给其他的请求,因为该序列号已经分配给当前请求。
补充:PostgreSQL 获取 SEQUENCE 列表
我就废话不多说了,大家还是直接看代码吧~
SELECT "c"."relname" FROM "pg_class" "c" WHERE "c"."relkind" = 'S';
关于Sequence序列怎么在PostgreSQL中使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
当前文章:Sequence序列怎么在PostgreSQL中使用-创新互联
URL网址:http://ybzwz.com/article/dghioj.html