Oracle 創建主鍵自增表


介紹

 本篇文章主要介紹在oracle中如果創建自增長表,這里要用到序列。

 

 

create table tb_student
(
   id                 NUMBER(10)           not null,
   createtime         DATE                 not null,
   constraint PK_tb_student primary key (id)
);

comment on table "tb_student" is
'學生';

comment on column "tb_student"."id" is
'主鍵id';

comment on column "tb_student"."createtime" is
'創建時間';


--創建序列
create sequence seq_tb_student
minvalue 1
nomaxvalue
start with 1
increment by 1
nocycle   --一直累加,不循環
--nocache;  --不緩存
cache 10; --緩存10條

--創建觸發器,如果insert語句不指定ID自動插入增長值
CREATE OR REPLACE TRIGGER tr_tb_student 
BEFORE INSERT ON tb_student FOR EACH ROW WHEN (new.id is null)
begin
select seq_tb_student.nextval into:new.id from dual;
end;

 

 注意:觸發器是非必須的,可以從業務上嚴格要求指定插入值。

總結

 注意oracle限制對象名的字符長度不能超過30個字符,所以表名要控制在一定的長度否則后面創建序列可能會超過限制,建議表名控制在27個字符以下。

 

 

備注:

    作者:pursuer.chen

    博客:http://www.cnblogs.com/chenmh

本站點所有隨筆都是原創,歡迎大家轉載;但轉載時必須注明文章來源,且在文章開頭明顯處給明鏈接。

《歡迎交流討論》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM