ORA-02303: невозможно удалить или заменить тип с помощью типов или таблиц
Im newbee в oracle и
Я пытаюсь изменить varchar (50) до 250
CREATE OR REPLACE TYPE CEQ_OWNER.TYPE_REC_PARAE2
AS OBJECT
(
...
BONETAT_DESC VARCHAR2(250),
...
)
/
Я получаю ORA-02303: не могу отказаться или заменить тип с помощью типов или табличных иждивенцев
Спасибо
Ответы
Ответ 1
Существуют другие типы или таблицы, которые зависят от типа, который вы хотите изменить. Если это зависимый тип, то вы можете использовать параметр FORCE для изменения типа.
Если это таблица, которая прямо или косвенно использует этот тип, тогда вам нужно будет создать новый тип и новую таблицу, перенести все данные и, наконец, отбросить и переименовать таблицы и типы.
См. эту документацию Oracle для получения дополнительной информации.
Ответ 2
Я тоже везде искал синтаксис, но мне было трудно найти документацию. На странице, с которой связано Codo... обратите внимание, что FORCE
находится между именем объекта и as object
create or replace type ceq_owner.type_rec_parae2 FORCE as object
(
...
BONETAT_DESC VARCHAR2(250),
...
)
/
Ответ 3
Try:
drop type your_type force;
Ответ 4
Есть некоторые зависимости для объекта, который вы пытаетесь изменить или удалить.
Если вы хотите пропустить это первое падение зависимого объекта и попробуйте DROP или MODIFY
Как в приведенном ниже скриншоте
![]()
С уважением,
Arul