亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PostgreSQL創(chuàng)建自增序列、查詢序列及使用序列代碼示例

 更新時(shí)間:2023年11月08日 10:01:12   作者:碼農(nóng)阿福  
數(shù)據(jù)庫(kù)中主鍵的生成一般是通過(guò)序列來(lái)生成,下面這篇文章主要給大家介紹了關(guān)于PostgreSQL創(chuàng)建自增序列、查詢序列及使用序列的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

序列函數(shù):

函數(shù)返回類(lèi)型描述
nextval(regclass)bigint遞增序列對(duì)象到它的下一個(gè)數(shù)值并且返回該值。這個(gè)動(dòng)作是自動(dòng)完成的。即使多個(gè)會(huì)話并發(fā)運(yùn)行nextval,每個(gè)進(jìn)程也會(huì)安全地收到一個(gè)唯一的序列值。
currval(regclass)bigint在當(dāng)前會(huì)話中返回最近一次nextval抓到的該序列的數(shù)值。(如果在本會(huì)話中從未在該序列上調(diào)用過(guò) nextval,那么會(huì)報(bào)告一個(gè)錯(cuò)誤。)請(qǐng)注意因?yàn)榇撕瘮?shù)返回一個(gè)會(huì)話范圍的數(shù)值,而且也能給出一個(gè)可預(yù)計(jì)的結(jié)果,因此可以用于判斷其它會(huì)話是否執(zhí)行過(guò)nextval。
lastval()bigint在當(dāng)前會(huì)話中返回最近一次nextval抓到的該序列的數(shù)值。(如果在本會(huì)話中從未在該序列上調(diào)用過(guò) nextval,那么會(huì)報(bào)告一個(gè)錯(cuò)誤。)請(qǐng)注意因?yàn)榇撕瘮?shù)返回一
返回當(dāng)前會(huì)話里最近一次nextval返回的數(shù)值。這個(gè)函數(shù)等效于currval,只是它不用序列名為參數(shù),它抓取當(dāng)前會(huì)話里面最近一次nextval使用的序列。如果當(dāng)前會(huì)話還沒(méi)有調(diào)用過(guò)nextval,那么調(diào)用lastval將會(huì)報(bào)錯(cuò)。 
setval(regclass, bigint)bigint重置序列對(duì)象的計(jì)數(shù)器數(shù)值。設(shè)置序列的last_value字段為指定數(shù)值并且將其is_called字段設(shè)置為true,表示下一次nextval將在返回?cái)?shù)值之前遞增該序列。
setval(regclass, bigint, boolean)bigint重置序列對(duì)象的計(jì)數(shù)器數(shù)值。功能等同于上面的setval函數(shù),只是is_called可以設(shè)置為true或false。如果將其設(shè)置為false,那么下一次nextval將返回該數(shù)值,隨后的nextval才開(kāi)始遞增該序列。

CREATE SEQUENCE 創(chuàng)建序列

CREATE SEQUENCE "user_id_seq"
    START WITH 1        --開(kāi)始值
    INCREMENT BY 1      --每次新增數(shù)
    NO MINVALUE         --無(wú)最小值
    NO MAXVALUE         --無(wú)最大值
    CACHE 1;            --緩存序列數(shù)量

ALTER SEQUENCE 修改序列:

ALTER SEQUENCE "user_id_seq"
    START WITH 1        --開(kāi)始值
    INCREMENT BY 1      --每次新增數(shù)
    NO MINVALUE         --無(wú)最小值
    NO MAXVALUE         --無(wú)最大值
    CACHE 1;            --緩存序列數(shù)量

nextval查詢下一個(gè)序列值:

SELECT nextval('user_info_id_seq')

currval查詢當(dāng)前序列值:

SELECT currval('user_info_id_seq')

批量設(shè)置表自增序列值最大值:

SELECT
	'SELECT SETVAL(''' || SUBSTRING ( sequence_name FROM '^(.*)[_]id_seq$' ) || '_id_seq'', (SELECT (MAX(id) + 1) FROM ' || SUBSTRING ( sequence_name FROM '^(.*)[_]id_seq$' ) || ') , true);' AS SQL 
FROM
	information_schema.sequences

總結(jié) 

到此這篇關(guān)于PostgreSQL創(chuàng)建自增序列、查詢序列及使用序列的文章就介紹到這了,更多相關(guān)pgsql創(chuàng)建自增序列查詢序列內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • PostgreSQL出現(xiàn)死鎖該如何解決

    PostgreSQL出現(xiàn)死鎖該如何解決

    昨天在對(duì)一張表執(zhí)行一條update語(yǔ)句的時(shí)候,沒(méi)有修改成功,直接終止執(zhí)行,就瘋狂點(diǎn)擊執(zhí)行,執(zhí)行了很多次這條語(yǔ)句導(dǎo)致了表被死鎖了,這篇文章主要給大家介紹了關(guān)于PostgreSQL出現(xiàn)死鎖該如何解決的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • PostgreSQL12同步流復(fù)制搭建及主備切換方式

    PostgreSQL12同步流復(fù)制搭建及主備切換方式

    這篇文章主要介紹了PostgreSQL12同步流復(fù)制搭建及主備切換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 使用pg_basebackup對(duì)Postgre進(jìn)行備份與恢復(fù)的實(shí)現(xiàn)

    使用pg_basebackup對(duì)Postgre進(jìn)行備份與恢復(fù)的實(shí)現(xiàn)

    這篇文章主要介紹了使用pg_basebackup對(duì)Postgre進(jìn)行備份與恢復(fù)的實(shí)現(xiàn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • 使用PostgreSQL創(chuàng)建高級(jí)搜索引擎的代碼示例

    使用PostgreSQL創(chuàng)建高級(jí)搜索引擎的代碼示例

    本文我們將探索PostgreSQL中的全文搜索功能,并研究我們能夠復(fù)制多少典型搜索引擎功能,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2023-07-07
  • PGSQL實(shí)現(xiàn)判斷一個(gè)空值字段,并將NULL值修改為其它值

    PGSQL實(shí)現(xiàn)判斷一個(gè)空值字段,并將NULL值修改為其它值

    這篇文章主要介紹了PGSQL實(shí)現(xiàn)判斷一個(gè)空值字段,并將NULL值修改為其它值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • 使用PostgreSQL數(shù)據(jù)庫(kù)建立用戶畫(huà)像系統(tǒng)的方法

    使用PostgreSQL數(shù)據(jù)庫(kù)建立用戶畫(huà)像系統(tǒng)的方法

    這篇文章主要介紹了使用PostgreSQL數(shù)據(jù)庫(kù)建立用戶畫(huà)像系統(tǒng),下面使用一個(gè)具體的例子來(lái)說(shuō)明如何使用PostgreSQL的json數(shù)據(jù)類(lèi)型來(lái)建立用戶標(biāo)簽數(shù)據(jù),需要的朋友可以參考下
    2022-10-10
  • postgresql 數(shù)據(jù)庫(kù) 與TimescaleDB 時(shí)序庫(kù) join 在一起

    postgresql 數(shù)據(jù)庫(kù) 與TimescaleDB 時(shí)序庫(kù) join 在一起

    這篇文章主要介紹了postgresql 數(shù)據(jù)庫(kù) 與TimescaleDB 時(shí)序庫(kù) join 在一起,需要的朋友可以參考下
    2020-12-12
  • 最新評(píng)論