這個問題,是從其他資料庫轉過來的開發者最常見的問題。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 每次加...