Phoenix's Blog

Database | Sequence

2019-09-06

[Database] - Sequence

Sequence 實戰

Sequence 就是「序列號」的意思

  • 使用時機: 通常需要「排序」或是希望拿取一個數字當作「唯一的值」去處理時,就可以使用到,

  • 使用方法:每次向 Sequence 拿取時,他會將當前數自動增加一個指定的值,並返回給你,通常都是+1

Sequence 實戰

  • 我們先建立一個 sequence
    1
    2
    3
    4
    5
    6
    7
    create sequence order_id_seq increment by 1 minvalue 1 no maxvalue start with 1; 

    incerment: 每次增加的數值
    start : Sequence 開始的數值
    maxvalue : Sequence 的最大值
    minvalue : Sequence 的最小值
    nocycle : 當 Sequence 達到最大值時,不重頭開始
  • 利用指令 \d 看剛剛建立的資料表結構
    1
    \d order_id_seq

  • 我們可以建立一個 table,當輸入資料時,id 會透過我們剛建立的 order_id_seq 每次自動 +1
    1
    create table order_id (id int4 not null default nextval('order_id_seq'),name text);

  • 我們輸入一筆資料並將他 select 出來


  • 取得下一筆 sequence
    1
    select * from nextval('order_id_seq');


  • 查看最新一筆 sequence
    1
    select currval('order_id_seq');

  • 刪除 sequence
    1
    DROP SEQUENCE order_id_seq

參考:
PostgreSQL 序列(SEQUENCE)

tags: Database Sequence PostgreSQL