SEQUENCE
功能描述
Vastbase G100在Oracle兼容模式下支持以下序列(SEQUENCE)功能:
- 支持创建(create)或修改(alter)时使用:no cache、nocache、order、no order、noorder。
- 支持restart语法,可以重新设置序列的起始值。
更多关于创建和修改序列的语法信息请参考:CREATE SEQUENCE、ALTER SEQUENCE。
注意事项
无。
语法格式
CREATE
CREATE [ TEMPORARY | TEMP ] SEQUENCE name [ INCREMENT [ BY ] increment ] [ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE ] [ START [ WITH ] start ] [ CACHE cache ] [ NOCACHE ] [ NO CACHE ] [ [ NO ] CYCLE ] [ NOORDER ] [ [ NO ] ORDER ] [ OWNED BY { table_name.column_name | NONE } ]
ALTER
ALTER SEQUENCE name [ AS data_type ] [ INCREMENT [ BY ] increment ] [ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE ] [ START [ WITH ] start ] [ RESTART [ [ WITH ] restart ] ] [ CACHE cache ] [ NOCACHE ] [ NO CACHE ] [ [ NO ] CYCLE ]
参数说明
name
序列名称。
start/restart
序列的起始值。
no cache | nocache
相当于cache 1(cache:设置缓存的序列值个数)。
order
保证序列号按请求顺序产生。如果想以序列号作为timestamp(时间戳)类型的话,可以采用该选项。
noorder | no order
与order相对,不能保证序列号按请求顺序产生。
示例
示例1:创建序列时使用关键字。
1、 创建序列时使用nocache关键字。
create sequence SEQ_ID3
minvalue 1
maxvalue 99999999
start with 1
increment by 1
nocache
noorder;
返回结果如下,则表示序列创建成功:
CREATE SEQUENCE
2、修改序列。
alter sequence SEQ_ID3 order;
返回结果如下,则表示修改成功:
ALTER SEQUENCE
示例2:使用restart语法,重新设置序列的起始值。
1、创建一个序列起始值为32。
CREATE SEQUENCE sequence_test20 START WITH 32;
2、使用nextval返回序列的一个值。
SELECT nextval('sequence_test20');
返回结果为:
nextval
---------
32
(1 row)
3、修改序列的起始值。
ALTER SEQUENCE sequence_test20 RESTART WITH 22;
4、查询修改结果。
SELECT nextval('sequence_test20');
返回结果为:
nextval
---------
22
(1 row)