Oracle中用序列和觸發器實現ID自增的方法(代碼示例)

本篇文章給大家帶來的內容是關于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
喜歡就支持一下吧
點贊5 分享