Oracle 序列(sequence)的创建、修改及删除

眉间皱痕 提交于 2020-01-30 03:48:44

1、Oracle 创建序列化:create sequence xxxx

注:Oracle中的序列并不是和MySQL中的自增长一样,连续性的,而是跳跃、不连续性的。如要使他连续,则必须指定相关的属性和值。

1 create sequence student_id
2 minvalue 1  --最小值(建议稍微设置大一些,否则很容易出现这个错误 ORA-00001:违反唯一约束条件。【Java程序连接数据库时】)
3 nomaxvalue  --不设置最大值(由机器决定),或 根据表字段的值范围设置 maxvalue
4 maxvalue 999  -- 最大值
5 start with 1   --从1开始计数,数值可变
6 increment by 1  --每次加1,数值可变
7 nocycle  --一直累加,不循环;cycle:达到最大值后,将从头开始累加
8 nocache;  --不建缓冲区。   如果建立cache那么系统将自动读取cache值个seq,这样会加快运行速度;如果在单机中使用cache,或者oracle死了,那么下次读取的seq值将不连贯,所以不建议使用cache。

 

2、Oracle 修改序列化:alter sequence xxxx

1 alter sequence student_id -- 序列名 也可以更改
2 minvalue 10   
3 maxvalue 99999999  
4 start with 1   
5 increment by 1  
6 cycle    -- 到99999999后,从头开始
7 nocache;  

 

注:

  1、如果想要改变start的值,必须 drop  sequence 再重建一个序列

  2、如果想要改变minvalue的值,必须删除序列化后再重新建立序列化。不可以修改序列化的minvalue。

 

3、Oracle 删除序列化:drop sequence xxxx

1 drop sequence student_id;

 

 

 

 

 

 

 

原创作者:DSHORE

作者主页:http://www.cnblogs.com/dshore123/

原文出自:https://www.cnblogs.com/dshore123/p/8269537.html

欢迎转载,转载务必说明出处。(如果本文对您有帮助,可以点击一下右下角的 推荐,或评论,谢谢!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!