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

oracle数据库表用序列实现主键自增张

2015-12-17 19:09 567 查看


oracle数据库表用序列实现主键自增张



(2012-03-08 17:39:16)


转载▼

标签:


编程实践


it

分类: oracle数据库


oracle中没有自增字段,可通过序列+触发器间接实现,一般要经过一下几步:

注意:序列和触发器必须建立在同一个用户名下否则运行出错

1建立数据表
create table 表名(

userid number(10) primary key,

username varchar2(20)

);

2创建自动增长序列
CREATE SEQUENCE 序列名

INCREMENT BY 1 -- 每次加几个

START WITH 1 -- 从1开始计数

NOMAXVALUE -- 不设置最大值

NOCYCLE -- 一直累加,不循环

CACHE 10;

3创建触发器
CREATE TRIGGER 触发器名 BEFORE

insert ON 表名 FOR EACH ROW

begin

select 序列名.nextval into:New.主键名from dual;

end;

4 提交

commit;

5 测试

反复执行如下语句:
insert into Test_Increase(Username) values('test')

6 查看插入结果:

userid username

1 test

2 test

3 test

4 test

5 test

6 test

7 test

8 test

9 test
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: