Oracle数据库如何实现字段的自增一


主要是2点,首先是创建一个序列名sequence
然后是,insert语句的时候:将自增的字段的位置,写成序列名.nextval。

下面讲解一下,从创建表开始,然后创建sequence,到insert语句怎样写,才能实现字段的自增一的整个过程。

1.首先创建表
 CREATE TABLE "FLOWCAL"."T_USERINFO"
   ( "C_ID" NUMBER(*,0),
    "C_USER" VARCHAR2(20 BYTE),
    "C_PASSWORD" VARCHAR2(20 BYTE),
    "C_ROLE" VARCHAR2(20 BYTE),
    "C_COMMENT1" VARCHAR2(20 BYTE),
    "C_COMMENT2" VARCHAR2(20 BYTE)
   )
现在我想让C_ID自增一。


2.首先创建一个Oracle的sequence,sql语句如下:
create sequence 序列名
increment by 1
start with 1
maxvalue 999999999
cycle;
建立一个最小为1,最大为999999999的一个序列号会自动循环的序列


下面是我的sequence,如下:
CREATE SEQUENCE  "FLOWCAL"."SEQ_USERINFO" 
MINVALUE 0
MAXVALUE 9999999999999999999999999999
INCREMENT BY 1
START WITH 24
CACHE 20
ORDER
CYCLE ;
 
3.通过序列名.nextval实现插入时,字段的自增一
当向表中插入数据时,SQL语句写法如下:
SQL> insert into 表名 values(,列1值,列2值,....);
"序列名"可以替换为你需要的名字.

下面是我的insert语句:
insert into T_USERINFO values(SEQ_USERINFO.NEXTVAL,'111','11','11','11','11')

下面提供一张图片,供参考:

Oracle数据库如何实现字段的自增一

相关内容