Oracle中主鍵遞增

2021-06-22 14:40:03 字數 1766 閱讀 6709

oracle設定主鍵是不會自動增加的,這個和sqlserver是不一樣的,在oracle中所以必須用 序列 和 觸發器 來完成主鍵的遞增。

1建立資料表

create

table t1

userid number(10) primary

key,  /*建立主鍵*/    

username varchar2(20)   

);   

create table test_increase(  

userid number(10) primary key, /*建立主鍵*/

username varchar2(20)

);

create table test_increase(

userid number(10) primary key, /*建立主鍵*/

username varchar2(20)

);

2建立自動增長序列

create sequence t1_sequence

increment by  1  -- 每次加幾個    

start with 1    -- 從1開始計數   

nomaxvalue      -- 不設定最大值    

nocycle        -- 一直累加,不迴圈   

cache 10; 

create sequence testincrease_sequence  

increment by 1 -- 每次加幾個

start with 1 -- 從1開始計數

nomaxvalue -- 不設定最大值

nocycle -- 一直累加,不迴圈

cache 10;

create sequence testincrease_sequence

increment by 1 -- 每次加幾個

start with 1 -- 從1開始計數

nomaxvalue -- 不設定最大值

nocycle -- 一直累加,不迴圈

cache 10;

3建立觸發器

create trigger t1 before 

insert on  t1 for each row

begin

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

end;   

create trigger test_increase before  

insert on test_increase for each row

begin

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

end;

使用方法

insert into t1 (username) values ('卡雷苟斯');   正確

insert into t1 values ('傑拉德就『);                    錯誤,沒有足夠的值

insert into t1 values ('進口量的』); 錯誤,沒有足夠的值

oracle主鍵自動遞增設計

1.新建表test increase 欄位為 userid number 10 username varchar2 20 2.新建自動增長序列 seq test autoincrease create sequence test increase sequence increment by 1 每次...

Oracle中怎樣設定表中的主鍵id遞增

首先建立一張表 create table cloud id number 3 primary key,name varchar2 20 address varchar2 20 步驟1 建立序列 create sequence autoid increment by 1 start with 1 mi...

Oracle中主鍵增長

大家程式設計的時候想讓相應的主鍵值自動增長,免得在插入語句的時候每次要插入主鍵值,所以設定主鍵自動增長是乙個非常好的程式設計習慣。能夠數量應用主鍵自動增長以及觸發器在資料庫程式設計中是非常重要的。下面分享下我在設定主鍵自動增長上的一些見解 高手指教。首先要建立乙個序列,來指定對於那個主鍵進行增長。注...