Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2339737
  • 博文数量: 2110
  • 博客积分: 18861
  • 博客等级: 上将
  • 技术积分: 24420
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-05 18:23
文章分类

全部博文(2110)

文章存档

2011年(139)

2010年(1971)

我的朋友

分类: Oracle

2010-09-30 11:01:26

 oracle中没有自增字段,可通过序列+触发器间接实现,cmd中sqlplus登录,直接运行即可。一般要经过一下几步:

  1建立数据表

  Code

  create table Test_Increase(

  userid number(10) primary key,  /*主键,自动增加*/

  username varchar2(20)

  );

  2创建自动增长序列

  CREATE SEQUENCE TestIncrease_Sequence

  INCREMENT BY 1   -- 每次加几个

  START WITH 1     -- 从1开始计数

  NOMAXVALUE       -- 不设置最大值

  NOCYCLE          -- 一直累加,不循环

  CACHE 10;

  3创建触发器

  CREATE TRIGGER Test_Increase BEFORE

  insert ON  Test_Increase FOR EACH ROW

  begin

  select TestIncrease_Sequence.nextval into:New.userid 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

阅读(252) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~