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

oracle字段自增兩段代碼搞定

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

  (這幾天做了個小小課程設計時用的是oracle數據庫第一次用發現oracle和我們以前用的sql server mysql是有如此多不同的地方下面是遇到的問題之一和解決方法和大家分享下)

  用慣sql server 或 mysql 的同志們都知道要一個字段自增在創建表時加一個auto_increment即可可是oracle則不然oracle表中字段並沒有自增的屬性那id自增怎麼辦呢?

  沒事還是那句話辦法總是有D不廢話直接上源碼吧

  先創建一個序列

  [sql]

  CREATE SEQUENCE  SEQU_FANGWUXINXI_AUTOINC SEQU_FANGWUXINXI_AUTOINC 是序列名

  MINVALUE 最小值

  MAXVALUE 最大值(這裡是表示無上限)

  INCREMENT BY   每次自增

  START WITH 開始

  nocache;

   不用高速緩存

  再創建一個觸發器

  [sql]

  create or replace

  trigger TRIG_FANGWUXINXI_AUTOINC

  before insert on fangwuxinxibiao

   fangwuxinxibiao 是表名

  for each row

  declare

  nextid number; 定義一個中間變量

  begin

  IF :newFANGWUID IS NULL or :newFANGWUID = THEN FANGWUID 是字段名 其中的new是當前使用的表

  select SEQU_FANGWUXINXI_AUTOINCnextval into nextid from dual;

   dual是一個偽表百度便知

  :newFANGWUID := nextid;

  end if;

  end;


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