首頁 > 資料庫 > mysql教程 > Oracle中用序列和觸發器實作ID自增的方法(程式碼範例)

Oracle中用序列和觸發器實作ID自增的方法(程式碼範例)

不言
發布: 2019-01-30 09:53:54
轉載
3710 人瀏覽過

這篇文章帶給大家的內容是關於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 」[tablename ]"表示要實現自增的列所在的資料表。

以上是Oracle中用序列和觸發器實作ID自增的方法(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:cnblogs.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板