序列
1序列是oacle提供的用于产生一系列唯一数字的数据库对象。
2使用序列可以实现自动产生主键值
3序列可以在多用户并发环境中使用,为所有用户生成不重复的顺序数字,而且不需要任何额外的I/O开销。
4序列与视图一样,不占用实际的存储空间,只是在数据字典中保留它的定义信息。
5自己模式创建序列,需要create sequence系统权限,其他模式创建序列,需要create any sequence系统权限.

创建序列

 create SEQUENCE sequence 【用户模式.】sequence_name
    【increment by i】
    【start with s】
    【maxvalue num| nomaxvalue】
    【minvalue num| nominvalue】;
    【cache cache | nocache】
    【cycle  | nocycle】
    【order  | noorder】
    INCREMENT BY: 指定序列号之间的间隔为i,该值可为正的或负的整数,但不可为0。序列为升序,缺省值为1。
    START WITH:指定生成的第一个序列为s。在升序时,缺省值为序列的最小值。对于降序,缺省值为序列的最大值。
    MAXVALUE:指定序列可生成的最大值。
    NOMAXVALUE:为升序指定最大值为1027,为降序指定最大值为-1。
    MINVALUE:指定序列的最小值。
    NOMINVALUE:为升序指定最小值为1。为降序指定最小值为-1026。
    CYCLE | NOCYCLE: //循环/不循环
    CACHE n | NOCACHE://分配并存入到内存中
    order  | noorder:order保证产生的序列值是按序列产生,noorder不保证顺序


举例

create  sequence zhou.stu_squ
increment by 1
start with 1
maxvalue  100
minvalue  1
nocycle

这里写图片描述

posted on 2017-06-02 10:38  2637282556  阅读(148)  评论(0编辑  收藏  举报