Oracle实现自增字段

Oracle和MS SQL不同,默认是没有自增列的,但是可以通过创建序列和触发器的方式来创建自增列字段,下面我就讲述下如何创建自增列字段(Oracle 11g版本)。

1.创建一个TestTable表,

CREATE TABLE TestTable
(
  ID 
NUMBER NOT NULL--用于自增列
  NAME VARCHAR2(40)
)
;

 

2.创建一个序列(Sequence),命名为SEQ(建议用自带的可视化工具创建 ‘DUNCAN’是我登陆的用户名,不要全盘复制)。

 

CREATE SEQUENCE  "DUNCAN"."SEQ"  MINVALUE 1 MAXVALUE 999999999999999999999999999 
INCREMENT BY 1 START WITH 21 CACHE 20 NOORDER  NOCYCLE ;

 

3.创建触发器

代码
create or replace
TRIGGER Test_Trr
BEFORE 
INSERT ON TestTable  --在‘TestTable’上创建触发器
FOR EACH ROW
BEGIN
  
SELECT SEQ.NEXTVAL INTO :new.ID FROM sys.DUAL; --‘nextval=增加sequence的值,然后返回 sequence 值再将该值插入到ID中’
END;

 

好了,TestTable表的自增列就创建好了,同仁们插入一条数据试试吧!

posted @ 2010-04-06 12:49  小胆粗心  Views(695)  Comments(0Edit  收藏  举报