zoukankan      html  css  js  c++  java
  • Oracle的序列

    学习笔记:

    在很多数据库中都存在一个自动增长的列,如果现在要想在oracle中完成自动增长的功能,则只能依靠序列完成,所有的自动增长操作,需要用户手工完成处理。

    注:

    序列不真的属于任何一张表,但是可以逻辑和表做绑定。
    序列:默认从1开始,依次递增,主要用来给主键赋值使用。
    dual:虚表,只是为了补全语法,没有任何意义。

    例子:

    创建一个seqpersonid的序列,验证自动增长的操作。

    create sequence seq_personid;

    序列创建完成之后,所有的自动增长应该由用户自己处理,所以在序列中提供了以下的两种操作:
    nextval:取得序列的下一个内容
    currval:取得序列的当前内容

    select seq_personid.nextval from dual;
    select seq_personid.currval from dual;

     在插入数据时需要自增的主键中可以这样使用:

    insert into person (pid,pname)
      values(seq_personid.nextval, '小明');

    注:

    在实际项目中每一张表会配一个序列,但是表和序列是没有必然的联系的,一个序列被哪一张表使用都可以,但是我们一般都是一张表用一个序列
    序列的管理一般使用工具来管理。

    谢谢观看!

  • 相关阅读:
    设计模式 创建型 抽象工厂
    mysql 案例 ~ 分析执行完的大事务
    mysql 查询优化案例汇总
    mysql 原理 ~ innodb恢复机制
    mysql 原理~ 乐观锁和悲观锁
    mysql 原理 ~ 常规锁
    mysql 5.7 ~ 新特性
    mysql 原理 ~ checkpoint
    mysql原理~undo管理
    mysql原理~undo
  • 原文地址:https://www.cnblogs.com/edcoder/p/11969406.html
Copyright © 2011-2022 走看看