一、序列:是oacle提供的用于产生一系列唯一数字的数据库对象。a) 序列的特点i. 自动提供唯一的数值ii. 共享对象iii. 主要用于提供主键值iv. 将序列值装入内存可以提高访问效率b) 序列的定义CREATE SEQUENCE sequence[INCREMENT BY n][START WITH n][{MAXVALUE N|NOMAXVALUE}][{MINVALUE n|NOMINVALUE}][{CYCLE |NOCYCLE}][{CACHE n|COCACHE}];二、序列的创建a) 要有创建序列的权限 create sequence 或 create any sequenceb) 创建序列的语法CREATE SEQUENCE sequence //创建序列名称[INCREMENT BY n] //递增的序列值是n 如果n是正数就递增,如果是负数就递减 默认是1[START WITH n] //开始的值,递增默认是minvalue 递减是maxvalue[{MAXVALUE n | NOMAXVALUE}] //最大值[{MINVALUE n | NOMINVALUE}] //最小值[{CYCLE | NOCYCLE}] //循环/不循环[{CACHE n | NOCACHE}];//分配并存入到内存中c) 注意事项i. NEXTVAL 返回序列中下一个有效的值,任何用户都可以引用ii. CURRVAL 中存放序列的当前值iii. NEXTVAL 应在 CURRVAL 之前指定 ,二者应同时有效三、序列的使用a) 将序列值装入内存可提高访问效率b) 序列在下列情况下出现裂缝:i. 回滚ii. 系统异常iii. 多个表同时使用同一序列c) 如果不将序列的值装入内存(NOCACHE), 可使用表 USER_SEQUENCES 查看序列当前的有效值四、修改序列a) 修改序列的增量, 最大值, 最小值, 循环选项, 或是否装入内存例:ALTER SEQUENCE dept_deptid_seqINCREMENT BY 20MAXVALUE 999999NOCACHENOCYCLE;Sequence altered.b) 注意事项i. 必须是序列的拥有者或对序列有 ALTER 权限ii. 只有将来的序列值会被改变iii. 改变序列的初始值只能通过删除序列之后重建序列的方法实现iv. 使用DROP SEQUENCE 语句删除序列v. 删除之后,序列不能再次被引用Oracle中常见的数据库对象--视图Linux MySQL 主从同步失败,报错 1594相关资讯 Oracle入门教程
- 使用SQLT来构建Oracle测试用例 (08/28/2014 06:17:41)
- Oracle AUTOTRACE 统计信息 (02/18/2013 08:25:40)
- Linux Oracle服务启动&停止脚本与 (12/16/2012 14:42:37)
| - Oracle入门教程:把表和索引放在不 (07/13/2013 11:21:40)
- Oracle直接路径加载--append的深度 (02/07/2013 08:26:36)
- Oracle Connect By用法 (12/16/2012 13:36:10)
|
本文评论 查看全部评论 (0)