oracle表增加序列字段,oracle数据库,怎么给已有很大多数据的表填充自增序列字段...

两个方法:

1,重新创建一个表,然后创建一个序列,把老数据导入新表,删除老表,修改新表名字为老表

2,直接在原来表上增加一个字段,创建一个序列,通过更新的方式修改老数据的这个字段。

具体操作主要是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表增加序列字段)