前提:oracle表主键没有进行唯一标识,导致主键重复,根据主键查询数据报错
优化:批量修改主键重复的字段,进行修改
缺陷:该方法只能适用于没有关联其他表的数据,否则会丢失数据
declare
balance_Id number;
begin
--循环info记录中的主键查询重复的数据(查询结果集循环)--
for item in (select * from (select INFO_ID, count(1) num from INFO I group by INFO_ID) where num > 1)
loop
-- 将查询到的数据赋值给变量 --
balance_Id := item.INFO_ID;
update INFO set INFO_ID=INFO_SEQ.nextval where INFO_ID = balance_Id;
end loop;
end ;