Oracle中實現主鍵自增長

2021-09-13 13:54:17 字數 783 閱讀 2846

注:**本人於2017-04-08 11:30:43部落格

在oracle資料庫中實現主鍵的自增長並沒有其他資料庫如mysql那麼便捷,在mysql中只需在主鍵定義後加auto_increment即可。

在oracle中實現主鍵的自增長需要除本身表以外,還需建立序列及觸發器。以test表位例:

1,建立資料庫表

create table test(

id integer not null,

name varchar2(20) not null,

constraint pk_test primary key (id))

2,建立序列test_sequence

create sequence test_sequence increment by 1 start with 1 nomaxvalue nocycle ;(每次加一,以一開始,無上限值,不迴圈)

3,建乙個觸發器

create or replace trigger test_trigger

before insert on test

for each row

begin

select test_sequence.nextval into:new.id from dual;

end;

最後插入資料,insert into test(name) values(『jjj』),成功。

附:剛執行插入的時候報觸發器無效且未通過驗證,於是在pl/sql觸發器裡view發現建立觸發器語句裡諸多問號,估計是複製時格式不對,後面手動輸入,解決。

oracle 自增長主鍵

1 首先,你要有一張表!create table example id number 4 not null primary key,name varchar 25 phone varchar 10 address varchar 50 2 然後,你需要乙個自定義的sequence create se...

oracle主鍵自增長

oracle主鍵自增長 1 比較土鱉的方式 定義主鍵number型別,之後每次存資料時候,id為取得此表的max id 之後 1,在存放進去 可以用時間作為主鍵,唯一。2 官方版 使用序列方式,增長主鍵。下面介紹使用過程。建立測試表 t sql sql create table t 2 id num...

oracle主鍵自增長

oracle主鍵自增長 1 比較土鱉的方式 定義主鍵number型別,之後每次存資料時候,id為取得此表的max id 之後 1,在存放進去 可以用時間作為主鍵,唯一。2 官方版 使用序列方式,增長主鍵。下面介紹使用過程。建立測試表 t sql sql create table t 2 id num...