2013-08-16 3 views
1

У меня есть таблица, которая имеет два раздела (по диапазону): first_half и second_half на основе столбца «INSERT_DAY».Добавить дополнительный раздел в другой столбец в oracle

Мне нужно добавить подразделы «УСПЕХ» и «НЕСУЩИЕ» на основе значений другого столбца «СОСТОЯНИЕ» (список подразделов по списку), то есть мне нужно преобразовать свой раздел диапазона в составный (диапазон-список) раздел.

Я не хочу отбрасывать существующие таблицы или разделы. Что такое запрос ALTER?

PS: база данных не является Oracle 9i

ответ

2

Нет альтер запрос для добавления подразделы, насколько я знаю. Чтобы получить желаемый результат performe на следующие шаги

  1. Создать таблицу в структуру, которую вы хотите использовать create as select с перегородками и подразделам разделов.
  2. переключите имена двух таблиц.

Вы также можете исследовать использование dbms_Redefinition, но если у вас есть роскошь простоя времени, это не стоит.

+1

Вы правы, для этого нет синтаксиса 'ALTER'. Но для создания идентичной таблицы может быть еще много шагов. В вашем методе отсутствуют такие функции, как ограничения, гранты, VPD и статистика (включая статистику рабочей нагрузки столбцов, используемую для определения необходимости гистограммы). –

+0

@jonearles прав, это должно быть шагом 1.1. – haki

+0

Спасибо. Думаю, создание новой таблицы - это путь. – coolscitist