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