oracle数据库字段的值加一_oracle增加字段带默认值

在oracle 11gR2版本中,对大表增加带默认值的字段,需要拆分成多个步骤,否则会长时间锁表。如下图:

对260万数据的表加带默认值的字段,执行超过2分钟。

oracle数据库字段的值加一_oracle增加字段带默认值_第1张图片

我们的规范做法步骤为:

(1)加字段

alter table  T_ORDER add tstatus varchar2(20);

(2)批量更新数据

declare

n_count number;

begin

select ceil(count(1)/100000) into n_count

from T_ORDER where tstatus is null;

for i in 1..n_count loop

update T_ORDER set tstatus='1' where tstatus is null and rownum<=100000;

commit;

end loop;

end;

/

(3)增加默认值属性

alter table TABLE_NAME modify tstatus default '1' not null;

在19c中不再需要如此繁冗的操作了,添加带默认值的字段可以瞬间完成:

你可能感兴趣的:(oracle数据库字段的值加一)