当前位置:Gxlcms > 数据库问题 > 程序员的SQL经典笔记1_自动增长字段

程序员的SQL经典笔记1_自动增长字段

时间:2021-07-01 10:21:17 帮助过:32人阅读

即可.
例子:

create table t_student
(
t_id int primary key auto_increment,
t_name varchar(50),
t_age int
);
insert into t_student(t_name,t_age)values("King",22);
insert into t_student(t_name,t_age)values("Hong",22);
  • Oracle 中的自动增长字段

Oracle中不像MYSQL和MSSQLServer中那样指定一个列为自动增长列的方式,不过在Oracle中可以通过SEQUENCE序列来实现自动增长字段.
在使用SEQUENCE前需要首先定义一个 SEQUENCE,定义 SEQUENCE 的语法如下:

CREATE SEQUENCE sequence_name
INCREMENT BY step
START WITH startvalue;

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

sequence_name.CURRVAL
sequence_name.NEXTVAL

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

DROP SEQUENCE sequence_name;

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

create sequence seq_t_person
increment by 1
start with 1;

然后创建T_Person表:

CREATE TABLE T_Person
( 
FId NUMBER (10) PRIMARY KEY, 
FName VARCHAR2( 20) , 
FAge NUMBER ( 10)
) ;

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

INSERT INTO T_Person( FId, FName, FAge)
VALUES( seq_PersonId.NEXTVAL, ‘ Tom‘ , 18) ;
INSERT INTO T_Person( FId, FName, FAge)
VALUES( seq_PersonId.NEXTVAL, ‘ Jim‘ , 81) ;
INSERT INTO T_Person( FId, FName, FAge)
VALUES( seq_PersonId.NEXTVAL, ‘ Kerry‘ , 33) ;


程序员的SQL经典笔记1_自动增长字段

标签:sequence   auto_increment   sequence.nextval   sequenc.currval   

人气教程排行