oracle怎麼實現id自增和設定主鍵

2021-06-07 15:47:54 字數 924 閱讀 1135

這個問題,是從其他資料庫轉過來的開發者最常見的問題。

1、關於主鍵:在建表時指定primary key字句即可:

create table test(

id number(6) primary key,

name varchar2(30)

);如果是對於已經建好的表,想增加主鍵約束,則類似語法:

alter table test add constraint pk_id primary key(id);

其中add constraint 和 primary key是關鍵字,pk_id是主鍵名稱,自定義的額,只要不重複即可。

2、關於id自增功能,也很簡單,而且比較靈活。

(1)首先建立乙個序列(就是每次查詢會自動增加值的絕不重複的物件,比如每次加1或每次加10)。語法:

create sequence 序列名

[increment by n] --每次加幾

[start with n] --序列從幾開始

--最小值、最大值的限制

比如create sequence s_test start with 1 increment by 1; --就是建立了額乙個從1開始每次加1的序列。

訪問序列時,用 序列名稱.nextval的語法。

比如對於上表,如果想要id欄位實現自增。則在每次插入記錄時,使用下面類似的語法(前提是表和序列已經建好)。

insert into test values (s_test.nextval,'張三');

當然,你也可以自動一些,對錶的插入操作,建立乙個觸發器,每當有資料插入時,觸發器自動修改id值為序列的新值,這樣就完全實現自增id功能了。不過其實也沒有這個必要。因為觸發器如果建多了,有時會比較混亂,不易管理。

辛苦手碼了這麼多字,如果能幫到你,請及時採納最佳。

oracle怎麼實現id自增和設定主鍵

1 關於主鍵 在建表時指定primary key字句即可 create table test id number 6 primary key,name varchar2 30 如果是對於已經建好的表,想增加主鍵約束,則類似語法 alter table test add constraint pk i...

Oracle自增ID實現

首先,建立一張表 create table example id number 4 not null primary key,name varchar 25 然後,自定義乙個序列 sequence create sequence example sequence increment by 1 每次加...

oracle 實現id自增

首先,建立一張表 create table example id number 4 not null primary key,name varchar 25 然後,自定義乙個序列 sequence create sequence example sequence increment by 1 每次加...