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

如果指定的操作符类不存在,那么发出一个 notice 而不是抛出一个错误。

name

一个现存操作符类的名字(可以用模式修饰)。

index_method

操作符类所引用的索引访问方法的名字。

CASCADE

级联删除依赖于该操作符类的对象。

RESTRICT

如果有任何依赖对象存在,则拒绝删除此操作符类。这个行为是缺省。

注意

DROP OPERATOR CLASS不会删除包含该类的操作符族,即使没有其他东西存在于族中也一样 (尤其是,族是由CREATE OPERATOR CLASS创建的时)。一个空的操作符族是无害的, 但是为了整洁你可能希望用DROP OPERATOR FAMILY删除这个族; 或更直接的在一开始就使用DROP OPERATOR FAMILY

例子

删除 B-tree 操作符类widget_ops

DROP OPERATOR CLASS widget_ops USING btree;

如果有任何现存的索引使用这个操作符类,那么这条命令将不能执行。 增加一个CASCADE删除这样的索引以及这个操作符类。

兼容性

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

又见

ALTER OPERATOR CLASS, CREATE OPERATOR CLASS, DROP OPERATOR FAMILY