CREATE OPCLASS 语句

使用 CREATE OPCLASS 语句为辅助存取方法创建运算符类

该语句是 SQL ANSI/ISO 标准的扩展。

语法

元素 描述 限制 语法
opclass 在此处声明的新的运算符类的名称 在数据库内的运算符类中必须是唯一的 标识符
sec_acc_method 新的运算符类与其关联的辅助存取方法 必须已经存在且必须 sysams 表中注册 标识符
support_function 辅助存取方法需要的支持函数 必须以存取方法所期望的顺序列出 标识符

用法

运算符类是支持用于查询优化和构建索引的与辅助存取方法的运算符集合。辅助存取方法(有时称为 索引存取方法)是构建、存取和操作索引结构(如 B-tree 、R-tree 或 DataBlade 模块提供的索引结构)的一组数据库服务器函数。

数据库服务器提供 B-tree 和 R-tree 辅助存取方法。更多关于 btree 辅助存取方法的信息,请参阅 缺省运算符类

当需要下列之一时定义一个新的运算符类:
  • 索引为数据使用与缺省运算符类提供的顺序不同的顺序
  • 与任何现有运算符类不同的一个运算符集合,这些运算符类与特殊的辅助存取方法相关联

如果您包含了可选的 IF NOT EXISTS 关键字,且指定名称的运算符类已经当前数据库中注册过,则数据库服务器不采取任何行动(而非向应用程序发送异常)。

必须具有 Resource 权限或者必须是 DBA 才可创建运算符类。运算符类的实际名称是 SQL 标识符。当创建运算符类时,opclass 名称必须在数据库内是唯一的。

在兼容 ANSI 的数据库中创建运算符类时,owner.opclass 组合必须在数据库中是唯一的。所有者名称是区分大小写的。如果不在 owner 名称旁边添加引号(或者设置 ANSIOWNER 环境变量),则运算符类索引者名称以大写字母存储。

以下 CREATE OPCLASS 语句为 btree 辅助存取方法创建称为 abs_btree_ops 的新的运算符类:
CREATE OPCLASS abs_btree_ops FOR btree
                        STRATEGIES (abs_lt, abs_lte, abs_eq, abs_gte, abs_gt)
                        SUPPORT (abs_cmp);
一个运算符类有两种运算符类函数:
  • 策略函数

    在 CREATE OPCLASSS 语句的 STRATEGY 子句中指定运算符类的策略函数。在先前的 CREATE OPCLASS 代码示例中,abs_btree_ops 运算符类有 5 个策略函数。

  • 支持函数

    在 SUPPORT 子句中指定运算符类的支持函数。在先前的 CREATE OPCLASS 代码示例中,abs_btree_ops 运算符类有 1 个支持函数。

1 请参阅 CREATE OPCLASS 语句