Мне нужно изменить тип столбца в более чем 200 таблиц Я выполняю следующий рецепт:Oracle резервного копирования и восстановления ограничений, чтобы изменение типа столбца
- Отключить все иностранные ограничения, если столбец ссылается любой FK
- колонны Хранить в VARRAY и Отбросьте первичный ключ, если столбец является частью PK
- Создать временную новый столбец в таблице с тем же типом
- Update височной новый столбец с исходными значениями
- Удаления значения из исходной колонки
- Изменить тип столбца исходной колонки
- Update оригинального столбец с временной колонкой значения
- Восстановить первичный ключ, если применяются
- Включить FK, если применяются
У меня возникли некоторые вопросы со следующими случаями
. Когда первичный ключ является составным (несколько столбцов) . Мне нужно, чтобы сохранить оригинальный FK и PK подпись, чтобы позволить мне восстановить их после изменения
------- Мои идеи --------
резервного копирования all_constraints и all_cons_columns записывается во временную таблицу и после изменения типа столбца, сохраняющего информацию об ограничениях.
Держите с той же идеей сохранения подписи FK и PK, чтобы восстановить их после изменения типа столбца
¿Любые предложения? это было бы неплохо, THX !!
Каковы старые и новые типы данных столбца? –
старый тип - NUMBER (10) новый тип - VARCHAR2 (10) – Jimmy
Возможно, вы захотите взглянуть на пакет DBMS_REDEFINITION (который, я считаю, является стандартной частью Oracle с 9i), который может помочь вам с все эти проблемы. –