前言
本篇文章給大家主要介紹的是在oracle中如果創(chuàng)建自增長表的方法,這里要用到序列。下面話不多說,我們來看示例代碼。
示例代碼
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'學(xué)生表';comment on column "tb_student"."id" is'主鍵id';comment on column "tb_student"."createtime" is'創(chuàng)建時間';--創(chuàng)建序列create sequence seq_tb_studentminvalue 1nomaxvaluestart with 1increment by 1nocycle --一直累加,不循環(huán)nocache; --創(chuàng)建觸發(fā)器,如果insert語句不指定ID自動插入增長值CREATE OR REPLACE TRIGGER tr_tb_student BEFORE INSERT ON tb_student FOR EACH ROW WHEN (new.id is null)beginselect seq_tb_student.nextval into:new.id from dual;end;
注意:觸發(fā)器是非必須的,可以從業(yè)務(wù)上嚴(yán)格要求指定插入值。
注意oracle限制對象名的字符長度不能超過30個字符,所以表名要控制在一定的長度否則后面創(chuàng)建序列可能會超過限制,建議表名控制在27個字符以下。
總結(jié)
以上就是Oracle創(chuàng)建主鍵自增表的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者使用Oracle帶來一定的幫助,如果有疑問大家可以留言交流,小編會盡快給大家回復(fù)的。
|
新聞熱點
疑難解答
圖片精選