日期:2014-05-16  浏览次数:20573 次

oracle中设置自动增长的列
如果想让ID自动增长可以在创建表的时候创建一个序列
需要注意的是执行表操作的用户和创建序列的用户是同一个。
首先创建一个表:
create table orders(id varchar2(10) not null,primary key (id),sname varchar2(20),smoney varchar2(10),sprovince varchar2(10))

在这里面ID被设置成主键
之后创建序列
create sequence test_sequence start with 100001 increment by 1

上面的意思是从100001开始每次增加1
之后向表中插入数据的时候写成
insert into orders(id,sname,smoney,sprovince) values(test_sequence.nextval,'令狐冲','5678','B')

这样就实现自增了,如果删除其中一条记录,正好处于中间的位置,在插入记录的时候也会从最大的那个继续执行。
如果需要那样可以用一个触发器来操作。