在一些業(yè)務(wù)表中原本不需要ID字段作為唯一標識,可是在后期為了方便和需求要在數(shù)據(jù)表中加ID列作為主鍵或者外鍵!那么下面總結(jié)了兩種方式:
成都創(chuàng)新互聯(lián)公司服務(wù)項目包括旅順口網(wǎng)站建設(shè)、旅順口網(wǎng)站制作、旅順口網(wǎng)頁制作以及旅順口網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,旅順口網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到旅順口省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
解決方案一:
序列+UPDATE,原表有數(shù)據(jù)想新增一列ID,自動增值
1、創(chuàng)建序列
格式:
create sequence test_seq
start with 1--起始位1
increment by 1--根基需求,每次增加多少
minvalue 1--最小值
maxvalue 999--根據(jù)需求最大值
nocache--無緩存
詳細請看本人博客序列介紹
2、進行插入
格式:
update 表 set ID=test_seq.nextval;--原數(shù)據(jù)表中有多少行,ID就會插入多少行
注意這是更改!也就是說原來你表中ID如果有數(shù)據(jù)將會被覆蓋
本方法適用于新建ID列無數(shù)據(jù),不牽扯其余列動作指令,保證數(shù)據(jù)完整性,大多數(shù)序列用于自動增長
解決方案二:
另一種場景就是想來點高端的(特殊場景),當(dāng)我插入或者更改某列,把數(shù)據(jù)按照序列增長的步調(diào)來實現(xiàn)
序列+觸發(fā)器+游標
1、創(chuàng)建序列
格式:
create sequence test_seq
start with 0--起始位
increment by 3--每次我想增加3
minvalue 1--最小值
maxvalue 999--根據(jù)需求最大值
nocache--無緩存
2、創(chuàng)建觸發(fā)器
格式:
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;
如果愛有需求可以整個游標,這里不再掩飾,因為如果單存對序列等一類問題操作,這樣就復(fù)雜化會增加數(shù)據(jù)庫和后期維護的成本負擔(dān)。
文章名稱:關(guān)于關(guān)于序列自增實際應(yīng)用
文章轉(zhuǎn)載:http://aaarwkj.com/article46/gopshg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、企業(yè)網(wǎng)站制作、關(guān)鍵詞優(yōu)化、網(wǎng)站改版、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)