Oracle的序列是一种数据库对象,其主要工作是用来为表产生唯一值。一旦序列被创建,序列的创建代码就被文本化在数据字典中,可以在 user_objects 数据字典中看到。
在 user_sequences 数据字典表中保存了序列明细信息。
语法:
CREATE SEQUENCE sequence_name
[ INCREMENT BY n ]
[ START WITH n]
[ { MaxValue n | NoMaxValue} ]
[ { MinValue n | NoMinValue} ]
[ { Cycle | NoCycle} ]
[ { Cache n | NoCache } ];
解释:
increment by : 用于定义序列的步长,如果省略,则默认为1,如果为负值,则代表序列的值是按照此步长递减的。
start with :定义序列的初始值(即产生的第一个值),默认为1。
MaxValue: 定义序列生成器能产生的最大值。
MinValue:定义序列生成器能产生的最小值。
Cache : 定义存放序列的内存块的大小,默认为 20。 NoCache 表示不对序列进行内存缓冲。
(2) 修改 序列 sequence
alter sequence sequence_name
[ INCREMENT BY n ]
[ { MaxValue n | NoMaxValue} ]
[ { MinValue n | NoMinValue} ]
[ { Cycle | NoCycle} ]
[ { Cache n | NoCache } ];
(3) 删除 序列
drop sequence sequence_name;