16.数据库对象----序列(sequence)

来源:互联网 发布:淘宝修改销量犯法 编辑:程序博客网 时间:2024/05/17 04:36
 1.序列的作用 做主键值, 但是主键一般使用UUID
 2.创建序列
        语法
                create sequence sequence_name
               【strat with n】
               【increment by n】
               【maxvalue n | nomaxvalue】
               【minvalue n | nominvalue】
               【cycle|nocycle】
               【cache n | nocache】
     
        注意:     
                strat with n 从几开始序列,默认从1开始
                               如果是正数范围是0-1000000000000000000000000000 共28位
                               如果是负数-1~-99999999999999999999999999 26位9 一个符号-
                
                increment by n 指定序列步长为n
                如果步长为正数,则strat with 必须为正数
                如果步长为负数,则strat with 必须为负数
                默认为1
                maxvalue n | nomaxvalue指定最大值或者没有最大值
                默认没有最大值,
                minvalue n | nominvalue指定最小值或者没有最小值
                                              默认没有最小值
                cycle | nocycle 到达最大值或者最小值之后是否循环产生序列
                                              默认为nocycle
                cache n | nocache预先在内存中分配多少个序列值
                                              默认为20个值
3.使用序列
        序列对象,有两个伪列
                nextval返回下一个序列值, 初始化化序列?
                currval返回当前序列值
                首次使用currval前,需先使用nextval,否则报错(尚未在此会话定义)
                刚创建currval时,序列的currval的值为null,不能直接使用
        语法
                sequence_name.nextval
                sequence_name.currval
4.修改序列
        alter sequence sequence_name
          【increment by n】
          【maxvalue n | nomaxvalue】
          【minvalue n | nominvalue】
          【cycle|nocycle】
          【cache n | nocache】
                注意:
                        对序列进行修改后只对以后的数据起作用,原有的数据不起作用

                序列一旦被创建,则其起始值不允许再次修改,  即不能修改start with
5.删除序列
        语法:drop sequence sequence_name
               
                     drop sequence book_seq;
原创粉丝点击