DROP OPERATOR CLASS
DROP OPERATOR CLASS — удалить класс операторов
Синтаксис
DROP OPERATOR CLASS [ IF EXISTS ]имяUSINGиндексный_метод[ CASCADE | RESTRICT ]
Описание
DROP OPERATOR CLASS удаляет существующий класс операторов. Выполнить эту команду может только владелец класса операторов.
DROP OPERATOR CLASS не удаляет операторы или функции, связанные с этим классом. Если же существуют индексы, зависящие от этого класса, класс будет удалён успешно (вместе с индексами), только если добавить указание CASCADE.
Параметры
IF EXISTSНе считать ошибкой, если класс операторов не существует. В этом случае будет выдано замечание.
имяИмя существующего класса операторов (возможно, дополненное схемой).
индексный_методИмя индексного метода, для которого предназначен этот класс операторов.
CASCADEАвтоматически удалять объекты, зависящие от данного класса операторов (например, использующие его индексы), и, в свою очередь, все зависящие от них объекты (см. Раздел 5.14).
RESTRICTОтказать в удалении класса операторов, если от него зависят какие-либо объекты. Это поведение по умолчанию.
Примечания
DROP OPERATOR CLASS не удалит семейство операторов, содержавшее этот класс, даже если в этом семействе больше ничего не останется (в том числе, если семейство было неявно создано командой CREATE OPERATOR CLASS). Пустое семейство операторов безвредно, но порядка ради затем следует удалить и его, командой DROP OPERATOR FAMILY; или, возможно, выполнить DROP OPERATOR FAMILY в первую очередь.
Примеры
Удаление класса операторов B-дерева с именем widget_ops:
DROP OPERATOR CLASS widget_ops USING btree;
Эта команда не будет выполнена, если в базе существуют индексы, использующие этот класс. Чтобы удалить такие индексы вместе с классом операторов, нужно добавить указание CASCADE.
Совместимость
Команда DROP OPERATOR CLASS отсутствует в стандарте SQL.