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

ORACLE裡的自增字段設置,ORACLE增字段設置

編輯:Oracle教程

ORACLE裡的自增字段設置,ORACLE增字段設置


 大家都知道吧,這很坑,尤其是用慣了mysql裡的自增字段設置,結果oracle裡面沒有的。oh,no

我用的是12c版本的,它有一個新特性,可以這樣設置自增序列,在創建表是,把id設置為自增序列

create table t 
(
  id        number generated by default as identity (start with 1 increment by 1),
  name      varchar2(20),
  password  varchar2(20),
  Constraint Pk_T Primary Key ( Id )
);

很憂桑的是同伴用的是11g的,那只能通過序列+觸發器來實現了;

創建表

-create table t 
(
  id        number,
  name      varchar2(20),
  password  varchar2(20),
  Constraint Pk_T Primary Key ( Id )
);

CREATE SEQUENCE seq_t----------------/*序列名稱*/
INCREMENT BY 1 ----------------/*自增1*/
START WITH 1 ----------------/*從1開始*/
NOMAXVALUE ----------------/*沒有最大值*/
NOCYCLE
NOCACHE;
CREATE TRIGGER tri_t  BEFORE------------------/*創建觸發器*/
INSERT ON t  FOR EACH ROW WHEN (new.id is null)
begin
select seq_t.nextval into: new.id from dual;
end;

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