赞
踩
目录
序列: 可供多个用户用来产生唯一数值的数据库对象
自动提供唯一的数值
共享对象
主要用于提供主键值
将序列值装入内存可以提高访问效率
- CREATE SEQUENCE sequence
- [INCREMENT BY n] --每次增长的数值
- [START WITH n] --从哪个值开始
- [{MAXVALUE n | NOMAXVALUE}]
- [{MINVALUE n | NOMINVALUE}]
- [{CYCLE | NOCYCLE}] --是否需要循环
- [{CACHE n | NOCACHE}]; --是否缓存登录
查询数据字典视图 USER_SEQUENCES 获取序列定义信息
- SELECT sequence_name, min_value, max_value,
- increment_by, last_number
- FROM user_sequences;
NEXTVAL 返回序列中下一个有效的值,任何用户都可以引用
CURRVAL 中存放序列的当前值
NEXTVAL 应在 CURRVAL 之前指定,否则会报CURRVAL 尚未在此会话中定义的错误。
- INSERT INTO departments(department_id,
- department_name, location_id)
- VALUES (dept_deptid_seq.NEXTVAL,
- 'Support', 2500);
- -- 修改序列的增量, 最大值, 最小值, 循环选项, 或是否装入内存
-
- ALTER SEQUENCE dept_deptid_seq
- INCREMENT BY 20
- MAXVALUE 999999
- NOCACHE
- NOCYCLE;
- /*
- 注意事项:
- 1.必须是序列的拥有者或对序列有 ALTER 权限
- 2.只有将来的序列值会被改变
- 3.改变序列的初始值只能通过删除序列之后重建序列的方法实现
- */
- -- 使用 DROP SEQUENCE 语句删除序列
- -- 删除之后,序列不能再次被引用
-
- DROP SEQUENCE dept_deptid_seq;
序列在下列情况下出现裂缝:
回滚
系统异常
多个表同时使用同一序列
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。