[Oracle] Как удалить набор типов, мешают зависимости

bastii

Есть набор типов, зависящие друг от друга (либо атрибут имеет тип из этого набора, либо тип наследует другой тип из этого набора). Как удалить все типы из данного набора?
По идее можно использовать DROP с FORCE, но моет есть более правильный/эффективный способ?

pitrik2

немного не понял
приведи пример

bastii

Если есть:
create type t1 as object ( x binary_double ) not final;
create type t2 under t1 ( y binary_double);
понятно, что такое не прокатит
drop type t1;
drop type t2;

Vantucha

в этом конкретном случае type2 не зависит от type1, можно удалить их в обратном порядке
а в чем состоит "неправильность/неэффективность" DROP FORCE?

bastii

не эффективность в том, что при удалении каждого типа по-отдельности, Оракл отслеживает все зависимости, и помечает зависящие типы, а у меня они все равно все вместе удаляются — в общем, конечно не критично, просто вруг есть более кошерный способ. У меня задача требует создавать небольшие схемы, отрабатывать запросы, а потом удалять. Думал делать это через отдельных пользователей, но в Оракл юзеры создаются медленно (хотя возможно там, я тоже чего-то не знаю).
Оставить комментарий
Имя или ник:
Комментарий: