您好,登錄后才能下訂單哦!
小編給大家分享一下Oracle中如何用序列和觸發(fā)器實現(xiàn)ID自增,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
在設(shè)計數(shù)據(jù)庫的時候,Oracle中沒有類似SQL Server中系統(tǒng)自動分配ID作為主鍵的功能,這時Oracle可以通過“序列”和“觸發(fā)器”來實現(xiàn)ID自動增加的功能。
1.創(chuàng)建序列Sequence
create sequence seq_uid increment by 1 start with 1 nomaxvalue nocycle cache 10 ;
其中:"seq_uid"表示自定義的序列名稱;
"start with 1"表示序列值從1開始;
"increment by 1"表示序列每次增加的值為1。
序列的使用方法:
select seq_uid.nextval ID from dual
這樣就得到了序列的下一個值,將這個語句放在觸發(fā)器中,就可以實現(xiàn)類似SQL Server中ID自增的功能。
2.創(chuàng)建觸發(fā)器Trigger
create trigger tri_uid before insert on [tablename] for each row when (new.[columnname] is null) begin select seq_uid.nextval into:new.[columnname] from dual; end;
其中:"tri_uid"表示自定義的觸發(fā)器名稱;
"seq_uid"表示要使用的序列名稱;
"[columnname]"表示要實現(xiàn)自增的列;
"[tablename]"表示要實現(xiàn)自增的列所在的數(shù)據(jù)表。
看完了這篇文章,相信你對Oracle中如何用序列和觸發(fā)器實現(xiàn)ID自增有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。