中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于關于序列自增實際應用

發布時間:2020-07-23 05:45:33 來源:網絡 閱讀:542 作者:長路慢 欄目:關系型數據庫

    在一些業務表中原本不需要ID字段作為唯一標識,可是在后期為了方便和需求要在數據表中加ID列作為主鍵或者外鍵!那么下面總結了兩種方式:

    解決方案一:

        序列+UPDATE,原表有數據想新增一列ID,自動增值

        1、創建序列

          格式:

            create sequence test_seq

            start with 1--起始位1

            increment by 1--根基需求,每次增加多少

            minvalue 1--最小值

            maxvalue 999--根據需求最大值

            nocache--無緩存

         詳細請看本人博客序列介紹

        2、進行插入

           格式:

             update 表 set ID=test_seq.nextval;--原數據表中有多少行,ID就會插入多少行

            注意這是更改!也就是說原來你表中ID如果有數據將會被覆蓋

            本方法適用于新建ID列無數據,不牽扯其余列動作指令,保證數據完整性,大多數序列用于自動增長

    解決方案二:

        另一種場景就是想來點高端的(特殊場景),當我插入或者更改某列,把數據按照序列增長的步調來實現

            序列+觸發器+游標

            1、創建序列

              格式:

                create sequence test_seq

                start with 0--起始位

                increment by 3--每次我想增加3

                minvalue 1--最小值

                maxvalue 999--根據需求最大值

                nocache--無緩存

            2、創建觸發器

                格式:

                    create or replace trigger trig_test

                    before update on test_table

                    for each row

                    declare ing_age number;

                    begin 

                        if :new.ID = 0 or :new.ID is null then

                            select test_seq.nextval into ing_age from sys.dual;

                            :new.ID := ing_age;

                        end if;

                     end trig_test;

            如果愛有需求可以整個游標,這里不再掩飾,因為如果單存對序列等一類問題操作,這樣就復雜化會增加數據庫和后期維護的成本負擔。



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沙湾县| 阳西县| 乌鲁木齐市| 荣成市| 万盛区| 华蓥市| 安福县| 镇江市| 遵化市| 定远县| 桂阳县| 黑河市| 建宁县| 遵义市| 寻甸| 彩票| 利辛县| 三门县| 洛阳市| 汶上县| 博罗县| 长沙县| 孟州市| 永春县| 包头市| 景东| 筠连县| 夹江县| 临清市| 长治市| 高邑县| 青川县| 黄山市| 班玛县| 沅江市| 宜兴市| 聂拉木县| 凤翔县| 瑞安市| 青海省| 睢宁县|