熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

如何在MySQL&Oracle下創建自動遞增字段

2013-11-13 22:22:20  來源: Oracle 

  如何在MySQL&Oracle下創建自動遞增字段

  在MySQL下創建自動遞增字段

  create table article   //先創建一個表

  (       

  id int primary key auto_increment  //設置該字段為自動遞增字段

  title varchar()

  );

  insert into article values (nulla);     //向數據庫中插入數據

  select * from article;   結果如下

  Id

  Title

  

  a

  insert into article values (nullb);

  insert into article values (nullc);

  insert into article  (title)  values (d);

  select * from article;   結果如下

  Id

  Title

  

  a

  

  b

  

  c

  

  d

  但是oracle沒有這樣的功能但是通過觸發器(trigger)和序列(sequence)可以實現

  假設關鍵字段為id建一個序列代碼為

  create sequence seq_test_ids
minvalue
maxvalue
start with
increment by
nocache
order;
<![if !supportLineBreakNewLine]>
<![endif]>

  建解發器代碼為

  create or replace trigger tri_test_id
  before insert on test_table  
  for each row
declare
  nextid number;
begin
  IF :newid IS NULLor :newid= THEN
    select seq_test_idnextval
    into nextid
    from sysdual;
    :newid:=nextid;
  end if;
end tri_test_id;
OK上面的代碼就可以實現自動遞增的功能了


From:http://tw.wingwit.com/Article/program/Oracle/201311/18903.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.