本篇文章給大家帶來的內容是關于oracle中用序列和觸發器實現id自增的方法(代碼示例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
在設計數據庫的時候,oracle中沒有類似sql Server中系統自動分配ID作為主鍵的功能,這時Oracle可以通過“序列”和“觸發器”來實現ID自動增加的功能。
1.創建序列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
這樣就得到了序列的下一個值,將這個語句放在觸發器中,就可以實現類似SQL Server中ID自增的功能。
2.創建觸發器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”表示自定義的觸發器名稱;
”seq_uid”表示要使用的序列名稱;
”[columnname]”表示要實現自增的列;
”[tablename]”表示要實現自增的列所在的數據表。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END