Skip to content

DROP OPERATOR CLASS

DROP OPERATOR CLASS — 删除运算符类

概要

DROP OPERATOR CLASS [ IF EXISTS ] name USING index_method [ CASCADE | RESTRICT ]

说明

DROP OPERATOR CLASS删除现有的运算符类。要执行此命令,您必须是运算符类的所有者。

DROP OPERATOR CLASS不会删除类引用的任何运算符或函数。如果存在依赖于运算符类的任何索引,则您需要指定CASCADE才能完成删除。

参数

IF EXISTS

如果运算符类不存在,则不抛出错误。在这种情况下会发出通知。

name

现有运算符类的名称(可选模式限定)。

index_method

运算符类所属的索引访问方法的名称。

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以删除此类索引以及运算符类。

兼容性

SQL 标准中没有DROP OPERATOR CLASS语句。

另请参阅

ALTER OPERATOR CLASSCREATE OPERATOR CLASSDROP OPERATOR FAMILY