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.13).
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.