Oracle数据库12_序列

1.什么是序列

序列:可供多个用户用来产生唯一数值的数据库对象

自动提供唯一的数据

共享对象

主要用于提供主键值

将序列值装入内存可以提高访问效率

2.创建序列

创建序列用CREATE SEQUENCE语句

(1)定义序列基础语法

在这里插入图片描述
【举例】

[外链图片转存失败(img-jXNJM6Xn-1567309255379)(C:\Users\zhangzhenquan\AppData\Roaming\Typora\typora-user-images\1567146830416.png)]
创建序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.修改序列

修改序列的增量,最大值,最小值,循环选项或是否装入内存

[外链图片转存失败(img-D88VbFkf-1567309255381)(C:\Users\zhangzhenquan\AppData\Roaming\Typora\typora-user-images\1567150119654.png)]

【注意事项】

必须是序列的拥有者或对系列有ALTER权限

只有将来的序列值会被改变

改变序列的初始值只能通过删除序列之后重建序列的方法实现。

7.删除序列

删除序列使用DROP SEQUENCE语句删除序列

删除之后序列不能被再次引用

[外链图片转存失败(img-E6N8WAU4-1567309255381)(C:\Users\zhangzhenquan\AppData\Roaming\Typora\typora-user-images\1567150364963.png)]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章