对已经存在的没有唯一标识的表添加一个自增的id字段(利用序列sequence)操作过程

1、原始的数据表

2、操作

-- 创建序列 test_data_file_Id_Seq --
create sequence Test_data_file_Id_Seq
  increment by 1
  start with
  minvalue 1
  maxvalue 999999999;


--对自己想要添加自增id的表备份一份,防止操作出错
create table test_data_file_copy as select * from test_data_file

--查看备份的表的记录数是否和以前的表一致
select count(*) from test_data_file_copy
select * from test_data_file_copy


--增加一个ID字段,为下面的将这个字段设置为自增的字段做准备,特别的需要注意的是:如果没有一个空的字段以备我们做为自增的属性,我们就需要自己先创建一个字段,如下代码:
alter table test_data_file_copy add Id int

--  设置这个表的id字段为自增序列作用的字段,
update test_data_file_copy set id = Test_data_file_Id_Seq.nextval     --Test_data_file_Id_Seq.nextval  这个的含义:


--插入数据进行测试,看自增id是否发挥作用

insert into test_data_file_copy values('shijiazhuang','后付费','huawei9999','华为',20,666,11,'238.3800000000','GSM','是','是','是','是','是',666,7,-1,-1,66,0,66.66,0.66,0.66,Test_data_file_Id_Seq.nextval)

可以通过rownum进行 查询最后的一行数据,已经成功的发挥作用啦

猜你喜欢

转载自www.cnblogs.com/isme-zjh/p/11401967.html