• oracle数据库中序列使用讲解


    oracle数据库中序列使用讲解
    定义:
       序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。
       其主要的用途是生成表的主键值,可以在插入语句中使用,也可以通过查询检查当前值,或使序列增至下一个值。
       创建序列需要使用CREATE SEQUENCE系统权限,序列的创建方法:
          create sequence 序列名
          [increment by n]
          [start with n]
          [{maxvalue/minvalue n|nomaxvalue}]
          [{cycle/nocycle}]
          [{cache n|nocache}];
    释义:
       increment by:用于定义序列的步长,若果省略,则默认为1,若果出现负值,则代表序列的值是按照此步长递减的。
       start with:定义序列的初始值(即产生的第一个值),默认为1
       maxvalue:定义序列的最大值。minvalue:定义序列的最小值。nomaxvalue:表示默认选项,没有最大值定义。
       cycle/nocycle:表示当序列生成器的值达到限制值后是否循环,cycle表示循环,nocycle表示不循环。
       cache/nocache:定义存放序列的内存块儿的大小,默认为20。nocache:表示不对序列进行内存缓冲。对序列进行内
                   存缓冲可以改善缓存的性能。
    删除序列的语法:
       drop sequence 序列名;
    序列的使用:
       currval和nextval来引用序列:
       调用mextval将生成序列中的下一个序列号,调用时指出序列名,即用以下方法:
       序列名.nextval;
       currval用于产生序列的当前值,无论调用多少次都不会产生序列的下一个值,如果序列还没有通过调用nextval产生
       过序列的下一个值,先引用currval将没有意义。
    调用currval的方法如下:
       序列名.currval;
       第一次调用nextval会产生序列的初始值。
    将序列作为表的主键的方法:
       在向表中插入数据时调用nextval方法
       insert into 表名 values (序列名.nextval,值1,值2,...);
     
     
  • 相关阅读:
    ProxySQL结构
    Kubernetes 零宕机滚动更新
    Promtail Pipeline 日志处理配置
    Fluentd 简明教程
    innodb_flush_log_at_trx_commit 和 sync_binlog 参数详 解
    AlertManager 何时报警
    ProxySQL 全局变量详解
    ProxySQL SQL 注入引擎
    ProxySQL SSL 配置
    ProxySQL 密码管理
  • 原文地址:https://www.cnblogs.com/zja001/p/10145229.html
Copyright © 2020-2023  润新知