序列

    科技2024-07-28  70

    序列: 自动提供唯一的数值 共享对象 主要用于提供主键值 将序列值装入内存可以提高访问效率

    1.创建序列

    语法: create sequence 序列名 【start with n】-------定义初始值。默认为1 【increment by n】-----定义步长,默认为1 【(maxvalue n | nomaxvalue n)】---- 能产生的最大值,系统能产生的最大值是10的27次方 【(minvalue n | nominvalue n)】-----能产生的最小值,默认最小值为1 【(cycle | nocycle)】-----当序列生成器达到限制后是否循环 【(cache n | nocache)】-----是否对序列缓冲

    2.查询序列

    查询数据字典视图USER_SEQUENCES获取序列定义信 息 例:SELECT sequence_name, min_value, max_value, increment_by, last_number FROM user_sequences; 如果指定NOCACHE 选项,则列LAST_NUMBER 显示序 列中下一个有效的值

    NEXTVAL 和 CURRVAL 伪列

    NEXTVAL 返回序列中下一个有效的值,任何用户都可以引用 CURRVAL 中存放序列的当前值 NEXTVAL 应在 CURRVAL 之前指定 ,二者应同时有效

    3.修改序列

    修改序列的增量, 最大值, 最小值, 循环选项, 或是否装入内 存 修改序列的注意事项: 必须是序列的拥有者或对序列有ALTER 权限 只有将来的序列值会被改变 改变序列的初始值只能通过删除序列之后重建序列的方法实现

    4.删除序列

    使用DROP SEQUENCE 语句删除序列 删除之后,序列不能再次被引用 例:DROP SEQUENCE dept_deptid_seq;

    Processed: 0.013, SQL: 8