oracle主鍵自動遞增設計

2021-06-25 18:58:42 字數 800 閱讀 1271

1.

新建表test_increase;

欄位為 userid number 10

username varchar2 20

2.新建自動增長序列

seq_test_autoincrease

create sequence test_increase_sequence

increment by 1 --每次自動增長1

start with 1 --從1開始計數

nomaxvalue --無最大值

nocycle --無迴圈累加

cache 20;--快取10個序列

3.新建觸發器

tri_test_increase

sql語句如下:

create or replace trigger "tsptest"."tri_test_increase" before insert on "tsptest".""

referencing old as "old" new as "new" for each row

begin

select seq_test_autoincrease.nextval into:new.userid from dual;

end;

4.測試

:反覆執行

insert into test_increase(username) values('aaaaa');

然後執行

select * from test_increase

檢視結果

,結果如下

Oracle中主鍵遞增

oracle設定主鍵是不會自動增加的,這個和sqlserver是不一樣的,在oracle中所以必須用 序列 和 觸發器 來完成主鍵的遞增。1建立資料表 create table t1 userid number 10 primary key,建立主鍵 username varchar2 20 cre...

Oracle PL SQL 設定主鍵自動遞增

oracle沒有設定主鍵auto increment 的功能,需要自己白那些序列和觸發器實現主鍵自動遞增。示例 建立表menu create table menu menuid number 10 not null primary key,name varchar2 40 not null,id p...

Oracle怎麼在建表時讓主鍵自動遞增

oracle怎麼在建表時讓主鍵自動遞增呢?首先我們建立乙個測試用的表 這裡就不講建表相關的知識了 create table by admin admin id int primary key admin username varchar 100 not null,admin password var...