oracle主鍵
兩種方法:自增主鍵sequence,sys_guid()生成唯一序列。
一、自增主鍵
建立乙個表
create table test(
nid int primary key,
test1 varchar2(20),
test2 varchar2(20)
)再建乙個序列seq_test
create sequence seq_test
minvalue 1 --最小值 //可選
nomaxvalue --不設定最大值 //可選
start with 1 --從1開始計數
increment by 1 --每次加1個
nocycle --一直累加,不迴圈 //可選
nocache; --不建緩衝區 //可選
觸發器##################
最好再建乙個觸發器來執行它!
//這樣就不用主動調select bjproduct_sequence.nextval as seqno from dual
//或values(bjproduct_sequence.nextval,'wnj123')//可以直接用bjproduct_sequence.nextval
create or replace trigger tg_test
before insert on test for each row when (new.nid is null)
begin
select seq_test.nextval into:new.nid from dual;
end;
下面是測試
insert into test(nid,test1) values(6,'aaa')
insert into test(test1) values('bbb')
二、唯一序列
sys_guid() 生成32位的唯一編碼
三、區別
sequence不適合將它用作並行或者遠端環境裡的pk
sys_guid生成的值的另乙個顯著的不足之處是,管理這些值會比較困難
Oracle中主鍵生成方式
專案中若採用oracle資料庫,則主鍵生成可以有兩種方式,一是用sys guid 二是定義乙個sequence,然後用nextval得到id。1 oracle的定義sequence例子 create sequence seq test minvalue 10000 maxvalue 99999999...
主鍵生成方式
在做搭建ssh專案時,用hibernate反射機制生成pojo以及對映檔案。表主鍵選擇的是uuid,但是程式執行過程中,就報錯了。結果查資料才發現一些問題。大家平時多注意點。在hibernate2.1中,主鍵生成策略中uuid分為uuid.hex和uuid.string,但是從hibernate3....
Hibernate主鍵生成方式
nhibernate主鍵生成方式 hibernate主鍵生成方式 key generator 主鍵產生器 可選項說明 1 assigned 主鍵由外部程式負責生成,無需hibernate參與。2 hilo 通過hi lo 演算法實現的主鍵生成機制,需要額外的資料庫表儲存主 鍵生成歷史狀態。3 seq...