oracle實現自增方法(錯誤ora-04098解決)

mysql實現自增很簡單,在主鍵處加上auto_increment關鍵字就能夠了,而oracle實現起來並非這麼容易的,須要藉助序列和觸發器才能實現。mysql

具體代碼以下:sql

1.創建一個表:

create table 戶口本  (
   戶號                   INTEGER                         not null,
   戶別                   CHAR(20)                        not null,
   戶主姓名                 CHAR(20)                        not null,
   住址                   CHAR(200)                       not null,
   承辦人                  CHAR(20)                        not null,
   日期                   DATE                            not null,
   constraint PK_戶口本 primary key (戶號)
);

 

2.創建一個sequence序列:

CREATE SEQUENCE book_Sequence
 INCREMENT BY 1   -- 每次加幾個  
     START WITH 1     -- 從1開始計數  
     NOMAXVALUE       -- 不設置最大值  
     NOCYCLE ;         -- 一直累加,不循環

 

3.創建一個觸發器:

CREATE TRIGGER book_increase BEFORE
insert ON 戶口本 FOR EACH ROW
begin
select BOOK_SEQUENCE.nextval into :New.戶號 from dual;
end; 
注:要注意這裏的兩個分號';',不能少,不然會出現ora-04098:觸發器...無效且未經過從新驗證,其餘的語句結尾處的分號是能夠省略的,只有這裏結尾處的分號不能忽略!!!
相關文章
相關標籤/搜索