PostgreSQL之序列使用

开心一笑

医院走廊里一群人在等待尿检,每人手里都端着自己的尿样。
护士叫一个叫王尚举的患者,喊:王尚举!然后所有患者都把手里的尿样举高了一点。
护士又喊道:王尚举!…..然后患者们又把尿样举高了一点……护士还喊:王尚举!!!
然后所有患者都把尿样高高举起…
这时王尚举意识到护士是在喊自己,便大声答:到! 然后所有的患者都把尿倒头上了。再忙也要笑一笑!

提出问题

PostgreSQL的序列如何使用???

解决问题

例一:在表中指定字段的类型为serial

create table ay_sequence_test(
    id serial,
    name varchar
)

例二:先创建序列,然后再表中运用

语法:

CREATE[ TEMPORARY | TEMP ] SEQUENCE name [ INCREMENT [ BY ] increment ]
[ MINVALUE minvalue | NO MINVALUE ][ MAXVALUE maxvalue | NO MAXVALUE ]
[ START [ WITH ] start ] [ CACHE cache ][ [ NO ] CYCLE ][ OWNED BY { table.column | NONE } ]

创建序列:

create sequence ay_sequence_test_seq increment by 1 minvalue 1 no maxvalue start with 1;   

在创建的表中运用该序列:

create table ay_sequence_test_2(

    id varchar(32) not null default nextval('ay_sequence_test_seq'), 
    name varchar(32)

);

最后再介绍在真实项目中使用很多的函数:

nextval(regclass):递增序列对象到它的下一个数值并且返回该值。并且是线程安全的。

《PostgreSQL之序列使用》 美图.jpg

读书感悟

来自《超级读心术》

  • 看一个人怎样,就看他身边的人怎样
  • 有钱人认为每个没有成功的人都有失败的原因,比如思想消极、缺乏毅力等,
    所以他们不喜欢跟与自己层次不同的人在一起,他们无法理解其他人为什么不能够成功
  • 因为人们会下意识保护自己的利益,所以理想化的“无私”状态几乎是不可能出现的。
    换句话说,别人不可能平白无故地对你好,天下没有免费的午餐。
    如果人们都懂得这个道理,相信99%的骗局都能被识破。
    原文作者:阿_毅
    原文地址: https://www.jianshu.com/p/1a69d5c0444c
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞