数据库序列的创建与修改

当业务场景需要运用自动创建序列来实现数据库表字段的增长(一般用于主键),就要对序列有基本的操作能力。

1.创建序列:

CREATE SEQUENCE 序列名

INCREMENT BY 进度值

START WITH 初始值

MAXvalue 最大值

MINVALUE 最小值

CYCLE 循环(NOCYCLE 不循环)

CACHE 缓存个数 (NOCACHE 不设置缓存)

例:

CREATE SEQUENCE SEQ_AI_ZQZT_ZZZ_TEST
START WITH 1
INCREMENT BY 1
MAXVALUE 999999999
NOCYCLE
NOCACHE

查看所有序列:

select * from user_sequences;

运行SQL语句实现自增:(运行一次自增一次)

SELECT SEQ_AI_ZQZT_ZZZ_TEST.NEXTVAL FROM dual 

数据库序列的创建与修改_第1张图片

2.修改序列:(如果序列当前值为4,但是数据库表中序列字段最大数值已经存在1103的数值,这样可以通过修改自增进度值来快速实现到1103之后开始自增,再改回进度值为1)

alter sequence SEQ_AI_ZQZT_ZZZ_TEST increment by 1100;

数据库序列的创建与修改_第2张图片

alter sequence SEQ_AI_ZQZT_ZZZ_TEST increment by 1;

数据库序列的创建与修改_第3张图片

3.删除序列

drop sequence SEQ_AI_ZQZT_ZZZ_TEST;

4.结合mybatis使用序列,在insert的时候自动新增


        
            SELECT SEQ_AI_ZQZT_ROLE_ZT_USER.NEXTVAL FROM dual
        
        INSERT INTO AI_ZQZT_ROLE_ZT_USER
        (
        USER_ID,
        CITY_CODE,
        COUNTY_CODE,
        USER_NAME,
        MOBILE_PHONE,
        USER_CODE,
        IS_ZT_MONITOR,
        DATA_STATUS,
        CITY_NAME,
        COUNTY_NAME
        )
        VALUES
        (
        #{userId,jdbcType=VARCHAR},
        #{cityCode,jdbcType=VARCHAR},
        #{countyCode,jdbcType=VARCHAR},
        #{userName,jdbcType=VARCHAR},
        #{mobilePhone,jdbcType=VARCHAR},
        #{userCode,jdbcType=VARCHAR},
        #{isZtMonitor,jdbcType=VARCHAR},
        '1',
        #{cityName,jdbcType=VARCHAR},
        #{countyName,jdbcType=VARCHAR}
        )
    

 

你可能感兴趣的:(数据库)