我是oracle的新手。我目前的情况是我需要添加一个NOT NULL列并将其值更新为'EE'。这是使用以下脚本完成的。
ALTER TABLE CSA.CSA_CALL_AUDIT ADD CSA_CALL_TYPE varchar2(10);
update CSA.CSA_CALL_AUDIT set CSA_CALL_TYPE = 'EE';
ALTER table CSA.CSA_CALL_AUDIT modify CSA_CALL_TYPE not null;
我的要求是一次只更新1000条记录。该表总共有39000条记录。
答案 0 :(得分:0)
如果EE
是默认值,这是进行此更改的最佳表现方式:
ALTER TABLE CSA.CSA_CALL_AUDIT ADD CSA_CALL_TYPE varchar2(10)
default 'EE' not null;
Oracle在数据字典中做了一些魔术而根本没有触及行。 (至少在11g及以后,不确定他们是否更早地引入了此增强功能。)
但无论如何,39000条记录并不是大量的记录。如果您需要发出实际的UPDATE,请使用单个语句。它不会花很长时间。