## 序列號(SERIAL)類型 smallserial(int2), serial(int4) bigserial(int8) DROP TABLE t_student; CREATE TABLE t_student ( "Id" serial, "Name" VARCHAR (256) ); ## 序列函數 函數 返回類型 描述 currval(regclass) bigint 返回最近一次用 nextval 獲取的指定序列的數值 nextval(regclass) bigint 遞增序列並返回新值 setval(regclass, bigint) bigint 設置序列的當前數值 setval(regclass, bigint, boolean) bigint 設置序列的當前數值以及 is_called 標志 -- 設置序列的當前數值:
SELECT setval( '"t_student_Id_seq"' :: regclass, 100 ); -- 獲取當前序列值:
SELECT currval( '"t_student_Id_seq"' :: regclass ); -- 遞增序列並返回新值:
SELECT nextval( '"t_student_Id_seq"' :: regclass ); ## 創建序列的語法 DROP SEQUENCE seq_test; CREATE SEQUENCE seq_test INCREMENT BY 2 MINVALUE 1 MAXVALUE 5 START WITH 2 NO CYCLE; INCREMENT BY : 每次序列增加(或減少)的步長 MINVALUE : 序列最小值,NO MINVALUE表示沒有最小值 MAXVALUE : 序列最大值,NO MAXVALUE表示沒有最大值 START WITH :以什么序列值開始 CYCLE : 序列是否循環使用 OWNED BY : 可以直接指定一個表的字段,也可以不指定。