[Database] - Sequence
Sequence 實戰
Sequence 就是「序列號」的意思
使用時機: 通常需要「排序」或是希望拿取一個數字當作「唯一的值」去處理時,就可以使用到,
使用方法:每次向
Sequence拿取時,他會將當前數自動增加一個指定的值,並返回給你,通常都是+1
Sequence 實戰
- 我們先建立一個 sequence
1
2
3
4
5
6
7create 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每次自動 +11
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
