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

xiaoxiao2021-02-28  144

 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;
转载请注明原文地址: https://www.6miu.com/read-50121.html

最新回复(0)