最近用vs2005+oracle开发,以前从没用过oracle,对oracle的了解也是甚少.今天,老大说要我建一个表,主键必须是自动增长的.于是我就用SQL Server的方法在那建.摸索了半天就是建不了,于是我就到网上搜...原来它是用序列来解决自动增长列的.....
下面则是整理出来的一些资料...
序列:
(1).可以为表中的列自动产生值.
(2).由用户创建数据库对象,并可由多个用户共享.
(3).一般用于主键或唯一列.
例子:
create sequence my_seq ---创建序列名
start with 1 ---从1开始
increment by 1 ---每次增长1
maxvalue 999999999 ---最大值
minvalue 1 ---最小值
cycle ---循环
cache ---缓存
order
从1开始,每次增长1,最大值为999999999,之后又循环从1开始.
SQL语句:
insert into mytable values(my_seq,'aaa')
insert into mytable values(my_seq,'bbb')
结果为:
1 aaa
2 bbb
调用:
select my_seq.nextval from mytable ---新值
select my_seq.currval from mytable ---当前值
下面则是整理出来的一些资料...
序列:
(1).可以为表中的列自动产生值.
(2).由用户创建数据库对象,并可由多个用户共享.
(3).一般用于主键或唯一列.
例子:
create sequence my_seq ---创建序列名
start with 1 ---从1开始
increment by 1 ---每次增长1
maxvalue 999999999 ---最大值
minvalue 1 ---最小值
cycle ---循环
cache ---缓存
order
从1开始,每次增长1,最大值为999999999,之后又循环从1开始.
SQL语句:
insert into mytable values(my_seq,'aaa')
insert into mytable values(my_seq,'bbb')
结果为:
1 aaa
2 bbb
调用:
select my_seq.nextval from mytable ---新值
select my_seq.currval from mytable ---当前值