Мне нужно изменить тип столбца в более чем 200 таблицах. Я следую следующему рецепту:
- Отключите все внешние ограничения, если на столбец ссылается какой-либо FK
- Сохраняйте столбцы в varray и удаляйте первичный ключ, если столбец является частью PK
- Создайте временный новый столбец в таблице с тем же типом
- Обновите временный новый столбец с исходными значениями
- Удалить значения из исходного столбца
- Изменить тип столбца исходного столбца
- Обновить исходный столбец значениями временного столбца
- Восстановить первичный ключ, если он был применен
- Включить FK, если применяется
У меня возникают проблемы со следующими случаями
. Когда первичный ключ является составным (несколько столбцов). Мне нужно сохранить исходные подписи FK и PK, чтобы я мог восстановить их после изменения.
------- Мои идеи --------
Сделайте резервную копию записей all_constraints и all_cons_columns во временной таблице и после изменения типа столбца восстановите информацию об ограничениях.
Придерживайтесь той же идеи хранения подписи FK и PK, чтобы восстановить их после изменения типа столбца.
Какие-либо предложения ? был бы признателен, спасибо!!