oracle11g自增主鍵

2022-09-01 01:09:09 字數 978 閱讀 5904

oracle

的自增主鍵需要用序列和觸發器來實現,

我們首先建立一張表:主鍵為int,實現自增

createtabletest

(id intprimarykey,

test1 varchar2(20),

test2 varchar2(20),

test3 varchar2(20)

)建立乙個序列:

create sequence seq_test

minvalue 1    --最小值

maxvalue 999999999999999999999999999 --最大值

start with 1 ---從1開始

increment by 1 ---每次加1

nocycle        --一直累加,不迴圈

nocache;

建立乙個觸發器實現資料插入時主鍵自增:

create or replace trigger tg_test

//test表名,id主鍵名,seq_test.nextval序列

before insert on test

for each row when (new.id is null)

begin

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

end;

可以看出當插入資料主鍵為空時,會使用序列產生自增主鍵

//------------------觸發器樣式

create or replace trigger tri_score

before insert or update on xuanke

for each row

begin

//如果score為空,則令score=0

if :new.score is null then :new.score:= 0;

end if;

end;

Oracle主鍵自增

1.建立資料表 create table test increase userid number 10 primary key,主鍵,自動增加 username varchar2 20 2.建立自動增長序列 create sequence testincrease sequence incremen...

oracle主鍵自增

oracle主鍵自增 1建立資料表 create table test increase userid number 10 primary key,主鍵,自動增加 username varchar2 20 2建立自動增長序列 create sequence testincrease sequence...

oracle 主鍵自增

oracle主鍵自增 1建立資料表 create table test increase userid number 10 primary key,主鍵,自動增加 username varchar2 20 2建立自動增長序列 create sequence testincrease sequence...