您现在的位置是:首页 > 博客网站制作 > 心得笔记心得笔记
PostgreSQL Sequence序列的使用详解
杨青青2022-02-20【心得笔记】人已围观
简介PostgreSQL是一种关系型数据库,和Oracle、MySQL一样被广泛使用。平时工作主要使用的是PostgreSQL,所以有必要对其相关知识做一下总结和掌握,先总结下序列。一、Sequence序列Seq
PostgreSQL是一种关系型数据库,和Oracle、MySQL一样被广泛使用。平时工作主要使用的是PostgreSQL,所以有必要对其相关知识做一下总结和掌握,先总结下序列。
一、Sequence序列
Sequence是一种自动增加的数字序列,一般作为行或者表的唯一标识,用作代理主键。
1、Sequence的创建
例子:创建一个seq_commodity,最小值为1,最大值为9223372036854775807,从1开始,增量的步长为1,缓存为1的循环排序Sequence。
SQL语句如下:
CREATESEQUENCEseq_commodity
INCREMENT1
MINVALUE1
MAXVALUE9223372036854775807
START1
CACHE1
CYCLE;//循环,表示到最大值后从头开始
2、查找Sequence中的值
1SELECTnextval('seq_commodity');
这里nextval表示下一个值
3、修改Sequence
用altersequence来修改,除了start以外的所有sequence参数都可以被修改,
altersequence的例子(SQL语句)
ALTERSEQUENCEseq_commodity
INCREMENT10
MAXVALUE10000
CYCLE
NOCACHE;
当然如果想要修改start的值,可以先用dropsequence删掉,然后再重新创建。
4、删除DropSequence
1DROPSEQUENCEseq_commodity;
5、Sequence分配策略
调用selectnextval(seq_commodity);返回下一个序列号后,系统优先给用户分配一个序号,接着系统的次Sequence立刻加上设置的步长(increment1),不论此序号用户是否使用;
调用selectcurrval(seq_commodity);返回当前的序列号,该序列号只要没有被使用,就不会变化,如果当前请求一直使用,那么不会再分配给其他的请求,因为该序列号已经分配给当前请求。
补充:PostgreSQL获取SEQUENCE列表
我就废话不多说了,大家还是直接看代码吧~
1SELECT"c"."relname"FROM"pg_class""c"WHERE"c"."relkind"='S';
结束~
Tags:
很赞哦! ()
相关文章
随机图文
让IE6支持max-width, max-height属性
max-width, min-width, max-height 和 min-heigh是CSS2的属性,它工作于IE7以及更高版本和或者Mozilla Firefox、Chrome等支持CSS2的浏览器,但不能与IE 6和更低版本IE浏览器兼容css 文件夹的命名规范
css文件夹命名采用英文,长度一般不超过20个字符,命名采用小写字母。除特殊情况才使用中文拼音,文件夹命名如:Images(存放图形文件)flash(存放Flash文件)style/css(存放CSS文件)scripts(存放Javascript脚本)10条HTML代码编写技巧
1、不要使用嵌入式CSS样式 2、在页面底部引入JavaScript文件 3、使用H1 - H6标签 4、如果是博客,那把H1留给文章标题 5、学会怎样对付IE 6、缩减 回望我们大多数人写的第一个页面,一定会发现严重的 “DIV癖”( divitis ),通常初学者的本能就是把一个段落用DIV包起来,然后为了控制定位而套上更多的DIV。—— 其实这是一种低效而有害的做法。如果个人博客网站再没有价值,你还会坚持吗?
个人博客现在的数量是越来越来多了,也有越来越多的人在讨论个人博客,个人网站的价值。也许你仅仅是因为一个爱好,也许你仅仅因为些许的新鲜感,也许你仅仅是因为祭奠那些过去...有位哲学家说过,存在即合理。万事万物都有其存在的价值,只是有些事物存在的意义大,有些事物的价值相对少一点。那么,站长们做的网站的价值又是什么,有什么样价值的网站存在的意义才更大,存在的时间才更长呢?