多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# DROP OPERATOR CLASS ## Name DROP OPERATOR CLASS -- 删除一个操作符类 ## Synopsis ``` 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](#calibre_link-57), [CREATE OPERATOR CLASS](#calibre_link-53), [DROP OPERATOR FAMILY](#calibre_link-56)