Oracle实现字段的自动编号
相对与ACCESS数据库和sqlserver中有自动编号的类型,如何在Oracle数据库中实现字段的自动编号?
Oracle数据库中通过创建一个序列Sequence,在插入数据的时候调用这个序列值.
//创建一个序列
Create sequence seq_demo start with 1 maxvalue 999999;
Select seq_demo.nextval from dual;
//取序列号的下个值。
Select seq_demo.currval from dual;
//取序列号的当前值。
create table test(id number(6),name varchar2(20));
insert into test values(select seq_demo.nextval from dual,'Tom');
另外一个例子:
实现方法 :
建立一个最小为1,最大为999999999的一个序列号会自动循环的序列
create sequence 序列名
increment by 1
start with 1
maxvalue 999999999
cycle;
当向表中插入数据 时,SQL语句写法如下:
SQL> insert into 表名 values(序列名.nextval,列1值,列2值);
Oracle数据库中通过创建一个序列Sequence,在插入数据的时候调用这个序列值.
//创建一个序列
Create sequence seq_demo start with 1 maxvalue 999999;
Select seq_demo.nextval from dual;
//取序列号的下个值。
Select seq_demo.currval from dual;
//取序列号的当前值。
create table test(id number(6),name varchar2(20));
insert into test values(select seq_demo.nextval from dual,'Tom');
另外一个例子:
实现
建立一个最小为1,最大为999999999的一个序列号会自动循环的序列
create sequence 序列名
increment by 1
start with 1
maxvalue 999999999
cycle;
当向表中插入
SQL> insert into 表名 values(序列名.nextval,列1值,列2值);