1.什么是序列
序列:可供多个用户用来产生唯一数值的数据库对象
自动提供唯一的数据
共享对象
主要用于提供主键值
将序列值装入内存可以提高访问效率
2.创建序列
创建序列用CREATE SEQUENCE语句
(1)定义序列基础语法
【举例】
创建序dept_deptid_sql为表departments提供主键。不使用cycle选项。
3.查询序列
查询序列用select语句
【例】查询数据字典视图user_sequences 获取序列定义信息。
如果指定nocache 选项,则列Last_number显示序列中下一个有效的值。
4.nextval和currval伪列
nextval 返回序列中下一个有效的值,任何用户都可以引用
currval中存放序列的当前值
nextval应在currval之前指定,二者应该同时有效。
5.使用序列
(1)将序列值装入内存可以提高访问效率
(2)序列在下列情况下出现裂缝:
回滚
系统异常
多个表同时使用同一序列
如果不将序列的值装入内存(nocache),可使用表user_sequences查看序列当前的有效值。
6.修改序列
修改序列的增量,最大值,最小值,循环选项或是否装入内存
【注意事项】
必须是序列的拥有者或对系列有ALTER权限
只有将来的序列值会被改变
改变序列的初始值只能通过删除序列之后重建序列的方法实现。
7.删除序列
删除序列使用DROP SEQUENCE语句删除序列
删除之后序列不能被再次引用