程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> 【oracle11g自增主鍵】

【oracle11g自增主鍵】

編輯:Oracle教程

【oracle11g自增主鍵】


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;

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved