Advertisement

ORACLE 按自增序列sequence更新表

阅读量:

文章目录

  • SEQUENCE
    • Oracle创建序列化:
    • oracle删除序列化
    • Oracle修改序列化
    • 案例讲解
      • 更新序列表

SEQUENCE

Oracle创建序列化:

复制代码
    CREATE Sequence myseq
       INCREMENT BY 1 -- 每次加1 
       START WITH 2008500009 -- 从1开始计数
       NOMAXVALUE -- 不设置最大值
       NOCYCLE -- 一直累加,不循环
       CACHE 10;

oracle删除序列化

复制代码
    DROP SEQUENCE myseq;

Oracle修改序列化

如果想要改变初始值,必须 drop sequence 再重新 create

复制代码
    ALTER SEQUENCE myseq 
    INCREMENT BY 10 
    MAXVALUE 10000 
    CYCLE    -- 到10000后从头开始 
    NOCACHE ;

案例讲解

更新序列表

序列编号
复制代码
    --创建序列
    CREATE Sequence myseq
       INCREMENT BY 1
       START WITH 2008500008
       NOMAXVALUE
       NOCYCLE
       CACHE 16;
复制代码
    --按序列Sequence更新表
    UPDATE (SELECT * FROM JE_Headers ORDER BY JE_HEADER_ID) T
       SET T.DOC_SEQUENCE_VALUE = MYSEQ.NEXTVAL,T.DOC_SEQUENCE_ID = 6051;

实现效果:
在这里插入图片描述

复制代码
    --删除序列
    DROP SEQUENCE myseq;

全部评论 (0)

还没有任何评论哟~