數據庫序列的創建與修改

當業務場景需要運用自動創建序列來實現數據庫表字段的增長(一般用於主鍵),就要對序列有基本的操作能力。

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 

2.修改序列:(如果序列當前值爲4,但是數據庫表中序列字段最大數值已經存在1103的數值,這樣可以通過修改自增進度值來快速實現到1103之後開始自增,再改回進度值爲1)

alter sequence SEQ_AI_ZQZT_ZZZ_TEST increment by 1100;

alter sequence SEQ_AI_ZQZT_ZZZ_TEST increment by 1;

3.刪除序列

drop sequence SEQ_AI_ZQZT_ZZZ_TEST;

4.結合mybatis使用序列,在insert的時候自動新增

<insert id="addUser">
        <selectKey keyProperty="userId" resultType="java.lang.String" order="BEFORE">
            SELECT SEQ_AI_ZQZT_ROLE_ZT_USER.NEXTVAL FROM dual
        </selectKey>
        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}
        )
    </insert>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章