序列整型
名称
描述
存储空间
范围
SMALLSERIAL
二字节序列整型
2 字节
-32,768 ~ +32,767
SERIAL
四字节序列整型
4 字节
-2,147,483,648 ~
+2,147,483,647
BIGSERIAL
八字节序列整型
8 字节
-9,223,372,036,854,775,808 ~
+9,223,372,036,854,775,807
LARGESERIAL
十六字节序列整
形
16 字节
-170,141,183,460,469,231,731
,687,303,715,884,105,728 ~
+170,141,183,460,469,231,73
1,687,303,715,884,105,727
示例
--创建表。
gbase=# CREATE TABLE smallserial_type_tab(a SMALLSERIAL);
CREATE TABLE
--插入数据。
gbase=# INSERT INTO smallserial_type_tab VALUES(default);
GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
46
INSERT 0 1
--再次插入数据。
gbase=# INSERT INTO smallserial_type_tab VALUES(default);
INSERT 0 1
--查看数据。
gbase=# SELECT * FROM smallserial_type_tab;
a
---
1
2
(2 rows)
--创建表。
gbase=# CREATE TABLE serial_type_tab(b SERIAL);
CREATE TABLE
--插入数据。
gbase=# INSERT INTO serial_type_tab VALUES(default);
INSERT 0 1
--再次插入数据。
gbase=# INSERT INTO serial_type_tab VALUES(default);
INSERT 0 1
--查看数据。
gbase=# SELECT * FROM serial_type_tab;
b
---
1
2
(2 rows)
--创建表。
gbase=# CREATE TABLE bigserial_type_tab(c BIGSERIAL);
CREATE TABLE
--插入数据。
gbase=# INSERT INTO bigserial_type_tab VALUES(default);
INSERT 0 1
--插入数据。
gbase=# INSERT INTO bigserial_type_tab VALUES(default);
INSERT 0 1
--查看数据。
gbase=# SELECT * FROM bigserial_type_tab;
c
---
1
GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
47
2
(2 rows)
--创建表。
gbase=# CREATE TABLE largeserial_type_tab(c LARGESERIAL);
CREATE TABLE
--插入数据。
gbase=# INSERT INTO largeserial_type_tab VALUES(default);
INSERT 0 1
--插入数据。
gbase=# INSERT INTO largeserial_type_tab VALUES(default);
INSERT 0 1
--查看数据。
gbase=# SELECT * FROM largeserial_type_tab;
c
---
1
2
(2 rows)
--删除表。
gbase=# DROP TABLE smallserial_type_tab;
DROP TABLE
gbase=# DROP TABLE serial_type_tab;
DROP TABLE
gbase=# DROP TABLE bigserial_type_tab;
DROP TABLE
SMALLSERIAL,SERIAL,BIGSERIAL 和LARGESERIAL 类型不是真正的类型,只
是为在表中设置唯一标识做的概念上的便利。因此,创建一个整数字段,
并且把它的缺
省数值安排为从一个序列发生器读取。应用了一个NOT NULL 约束以确保NULL 不会
被插入。在大多数情况下用户可能还希望附加一个UNIQUE 或PRIMARY KEY 约束避
免意外地插入重复的数值,但这个不是自动的。最后,将序列发生器从属于那个字段,
这样当该字段或表被删除的时候也一并删除它。
目前只支持在创建表时候指定SERIAL
列,不可以在已有的表中,增加SERIAL 列。另外临时表也不支持创建SERIAL 列。因
为SERIAL 不是真正的类型,也不可以将表中存在的列类型转化为SERIAL。
GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
48