>데이터 베이스 >MySQL 튜토리얼 >Oracle 中的自动增长字段

Oracle 中的自动增长字段

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-07 16:46:221273검색

Oracle 中不像MYSQL和MSSQLServer中那样指定一个列为自动增长列的方式,不过在Oracle 中可以通过SEQUENCE序列来实现自动增长字段

环境:PLSQL Developer 7.1.5 Oracle 11.2.0

Oracle 中不像MYSQL和MSSQLServer中那样指定一个列为自动增长列的方式,,不过在Oracle 中可以通过SEQUENCE序列来实现自动增长字段。在Oracle 中SEQUENCE被称为序列,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。

在使用SEQUENCE前需要首先定义一个SEQUENCE,定义SEQUENCE的语法如下:

其中sequence_name为序列的名字,每个序列都必须有唯一的名字;startvalue参数值为起始数字,step参数值为步长,即每次自动增长时增加的值。一旦定义了SEQUENCE,你就可以用CURRVAL来取得SEQUENCE的当前值,也可以通过NEXTVAL来增加SEQUENCE,然后返回  新的SEQUENCE值。比如:

如果SEQUENCE不需要的话就可以将其删除:

DROP SEQUENCE sequence_name;

下面举一个使用SEQUENCE序列实现自动增长的例子。首先创建一个名称为seq_PersonId  SEQUENCE

注:如果没加这句(MINVALUE 0),可能会出现这个错误(ORA-04006: START WITH 不能小于 MINVALUE)。解决方法就是指定最小值。

然后创建T_Person表:

执行上面的SQL语句后就创建成功了T_Person表,然后执行下面的SQL语句向T_Person表中插入一些数据:

linux

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.