数据库序列
序列
简介
-
序列是oracle用于提供一系列唯一的数字序列的对象。序列会自动生成顺序递增的序列号,以实现自动提供唯一的主键值。
-
优点
- 可以在多用户并发环境中使用,分别为所有用户提供唯一的序列而不产生关联。
- 与视图等一样,不占表空间,只是在数据字典中保存其定义。
创建
|
- 解析
cache 决定是否生成序列号预分配,并存储在内存中
cycle 当带到最大值决定是否重新开始或者从最大致开始倒着开始,nocycle将导致最大值时再获取下一个序列会报错。
order 有序生成序列 noorder 只保证序列的没一个数字唯一性但不保证有序
使用序列
sequence_name. nextval 返回下一个序列号
sequence_name. currval 返回当前序列号
select sequence_name.nextval from dual.
注意:首次使用序列必须先使用nextval(与迭代器一样)。
修改序列
注意事项:
-
删除序列必须是序列的拥有者或对序列有 ALTER any sequence权限
-
只有将来的序列值会被改变
-
改变序列的初始值(start with)只能通过删除序列之后重建序列的方法实现,其他都能修改
|
查看序列
desc user_sequences;
名称 空值? 类型 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 noticase!
评论
ValineLivere