DROP OPERATOR CLASS

DROP OPERATOR CLASS — удалить класс операторов


Синтаксис

DROP OPERATOR CLASS [ IF EXISTS ] имя USING индексный_метод [ CASCADE | RESTRICT ]

Описание

Команда DROP OPERATOR CLASS удаляет существующий класс операторов. Для выполнения этой команды нужно быть владельцем соответствующего класса операторов.

DROP OPERATOR CLASS не удаляет операторы или функции, связанные с этим классом. Если существуют какие-либо индексы, зависящие от этого класса операторов, для успешного завершения удаления нужно будет указать CASCADE.


Параметры

IF EXISTS

Не считать ошибкой, если этот класс операторов не существует. В этом случае выдается только замечание.

имя

Имя существующего класса операторов (может быть дополнено схемой).

индексный_метод

Имя индексного метода доступа, для которого предназначен этот класс операторов.

CASCADE

Автоматически удалять объекты, зависящие от этого класса операторов (например индексы), и, в свою очередь, все объекты, зависящие от этих объектов (см.раздел Отслеживание зависимостей).

RESTRICT

Отказать в удалении этого класса операторов, если от него зависят какие-либо объекты. Это поведение по умолчанию.


Примечания

Команда DROP OPERATOR CLASS не удаляет семейство операторов, содержащее заданный класс, даже если в семействе больше ничего не останется (в частности, в том случае, когда семейство было неявно создано командой CREATE OPERATOR CLASS). Пустое семейство операторов безвредно, но из соображений аккуратности его можно удалить командой DROP OPERATOR FAMILY. Или, возможно, лучше изначально использовать DROP OPERATOR FAMILY.


Примеры

Удаление класса операторов B-дерева widget_ops:

DROP OPERATOR CLASS widget_ops USING btree;

Эта команда не будет выполнена, если существуют какие-либо индексы, использующие этот класс операторов. Для удаления таких индексов вместе с классом операторов нужно добавить в команду указание CASCADE.


Совместимость

В стандарте SQL нет команды DROP OPERATOR CLASS.


См. также

ALTER OPERATOR CLASS, CREATE OPERATOR CLASS, DROP OPERATOR FAMILY