下載吧 - 綠色安全的游戲和軟件下載中心

軟件下載吧

當前位置:軟件下載吧 > 技術開發 > 數據庫 > PostgreSQL教程(七):函數和操作符詳解(3)

PostgreSQL教程(七):函數和操作符詳解(3)

時間:2024-02-13 10:22作者:下載吧人氣:15

九、序列操作函數:

    序列對象(也叫序列生成器)都是用CREATE SEQUENCE創建的特殊的單行表。一個序列對象通常用于為行或者表生成唯一的標識符。下面序列函數,為我們從序列對象中獲取最新的序列值提供了簡單和并發讀取安全的方法。

 

函數 返回類型 描述
nextval(regclass) bigint 遞增序列對象到它的下一個數值并且返回該值。這個動作是自動完成的。即使多個會話并發運行nextval,每個進程也會安全地收到一個唯一的序列值。
currval(regclass) bigint 在當前會話中返回最近一次nextval抓到的該序列的數值。(如果在本會話中從未在該序列上調用過 nextval,那么會報告一個錯誤。)請注意因為此函數返回一個會話范圍的數值,而且也能給出一個可預計的結果,因此可以用于判斷其它會話是否執行過nextval。
lastval() bigint 返回當前會話里最近一次nextval返回的數值。這個函數等效于currval,只是它不用序列名為參數,它抓取當前會話里面最近一次nextval使用的序列。如果當前會話還沒有調用過nextval,那么調用lastval將會報錯。
setval(regclass, bigint) bigint 重置序列對象的計數器數值。設置序列的last_value字段為指定數值并且將其is_called字段設置為true,表示下一次nextval將在返回數值之前遞增該序列。
setval(regclass, bigint, boolean) bigint 重置序列對象的計數器數值。功能等同于上面的setval函數,只是is_called可以設置為true或false。如果將其設置為false,那么下一次nextval將返回該數值,隨后的nextval才開始遞增該序列。

  對于regclass參數,僅需用單引號括住序列名即可,因此它看上去就像文本常量。為了達到和處理普通SQL對象一樣的兼容性,這個字串將被轉換成小寫,除非該序列名是用雙引號括起,如:
 

    nextval(‘foo’)     –操作序列號foo
    nextval(‘FOO’)    –操作序列號foo
    nextval(‘”Foo”‘)   –操作序列號Foo
    SELECT setval(‘foo’, 42);    –下次nextval將返回43
    SELECT setval(‘foo’, 42, true);   
    SELECT setval(‘foo’, 42, false);   –下次nextval將返回42
標簽[db:關鍵字]

相關下載

查看所有評論+

網友評論

網友
您的評論需要經過審核才能顯示

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 亚洲偷自精品三十六区| 亚洲男人电影天堂| 中文字幕22页| 老司机67194精品线观看| 色碰人色碰人视频| 日本特黄特黄刺激大片| 国产第一页在线播放| 亚洲手机中文字幕| 18禁美女黄网站色大片免费观看| 波多野结衣波多野结衣| 好男人官网资源在线观看| 国产欧美精品区一区二区三区| 亚洲欧洲日产国产最新| 97热久久免费频精品99| 波多野结衣欲乱| 国产视频你懂得| 亚洲成a人片在线看| 4444亚洲人成无码网在线观看| 欧美白人最猛性xxxxx欧美馆| 国产黄a三级三级看三级| 亚洲高清偷拍一区二区三区| 一级黄色免费大片| 男人天堂网2017| 在线国产你懂的| 亚洲欧洲免费无码| 欧美色图在线视频| 日本黄色片在线播放| 国产丰满岳乱妇在线观看| 久久99视频精品| 精品欧美成人高清在线观看2021| 巨大欧美黑人xxxxbbbb| 国产午夜手机精彩视频| 亚洲国产婷婷六月丁香| 2020国产精品自拍| 日韩一卡二卡三卡| 啦啦啦在线免费观看| 一个人看的视频www在线| 熟妇人妻va精品中文字幕| 国产网红无码精品视频| 亚洲av日韩av无码av| 韩国三级日本三级美三级|