根据rowid建临时表更新大表数据

Posted by Vincent on March 24, 2009

[cc lang="sql"]create table tmp_xf_rowid as
select rowid rid from xf_detail
where isdo_bss is not null
order by 1;

declare
i number := 0;
begin
for c in (select * from tmp_xf_rowid) loop
update xf_detail t set isdo_bss = null where t.rowid = c.rid;
i := i + 1;
if mod(i, 100) = 0 then
commit;
end if;
end loop;
commit;
end;[/cc]


This work is licensed under a CC A-S 4.0 International License.