您的位置:首页 > 数据库 > Oracle

Oracle实现自增字段

2010-04-06 12:49 323 查看
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表的自增列就创建好了,同仁们插入一条数据试试吧!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: