Обновляйте только 1000 записей одновременно в 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 записей.
1 ответ
ЕСЛИ EE
это значение по умолчанию, это наиболее эффективный способ сделать это изменение:
ALTER TABLE CSA.CSA_CALL_AUDIT ADD CSA_CALL_TYPE varchar2(10)
default 'EE' not null;
Oracle использует магию в словаре данных, не касаясь строк. (По крайней мере, в 11g и позже, не уверен, вводили ли они это улучшение ранее.)
Но в любом случае 39000 записей - это не большое количество записей. Если вам нужно выдать фактическое ОБНОВЛЕНИЕ, просто используйте один оператор. Это не займет много времени.