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

Oracle 創建主鍵自增表示例代碼

編輯:關於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; 


--創建觸發器,如果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個字符以下。

總結

以上就是Oracle創建主鍵自增表的全部內容,希望本文的內容對大家的學習或者使用Oracle帶來一定的幫助,如果有疑問大家可以留言交流,小編會盡快給大家回復的。

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