Welcome 微信登录

首页 / 数据库 / MySQL / Oracle常见数据库对象—序列

一、序列:是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)
表情: 姓名: 字数