-
- DROP ACCESS_METHOD 语句
使用 DROP ACCESS_METHOD 语句可从数据库除去之前定义的主或辅助存取方法。
该语句是 SQL ANSI/ISO 标准的扩展。
语法
元素 | 描述 | 限制 | 语法 |
access_method | 要删除的存取方法的名称 | 必须在 sysams 系统目录表中注册;不能是内置存取方法 | 标识符 |
owner | 存取方法的所有者 | 必须拥有存取方法 | 所有者名称 |
用法
RESTRICT 关键字是必需的。如果存在使用存取方法的虚拟表或索引,则无法删除该存取方法。您必须是该存取方法的所有者,或者拥有 DBA 特权,才可删除存取方法。
如果事务正在处理中,则数据库服务器等待移除此存取方法,直到提交或回滚该事务。该交易完成之前,其它任何用户都无法执行该存取方法。
如果您包含可选的 IF EXISTS 关键字,则如果指定名称的存取方法已在当前数据库中注册过,数据库服务器不执行任何操作(而不是向应用程序发生异常)。
示例
对于此示例,假设由此语句创建了一个存取方法:
CREATE SECONDARY ACCESS_METHOD T_tree
(
am_getnext = ttree_getnext,
am_unique,
am_cluster,
am_sptype = 'S'
);
以下语句删除了此存取方法:
DROP ACCESS_METHOD T_tree RESTRICT;
现有存取方法的详细信息可以使用以下查询在 sysams 系统目录表中找到:
SELECT am_name FROM gbasedbt.sysams;
-
- DROP AGGREGATE 语句
使用 DROP AGGREGATE 语句删除您用 CREATE AGGREGATE 语句创建的用户定义的集合。
该语句是 SQL ANSI/ISO 标准的扩展。
语法
元素 | 描述 | 限制 | 语法 |
aggregate | 要删除的用户定义的聚集的名称 | 先前必须已用 CREATE AGGREGATE 语句创建 | 标识符 |
owner | 聚集的所有者 | 必须拥有此聚集 | 所有者名称 |
用法
删除用户定义的聚集不会删除您在 CREATE AGGREGATE 语句中为聚集定义的支持函数。数据库服务器不会对您在语句中使用的用户定义的聚集追踪 SQL 语句的依赖性。例如,您可以删除 SPL 例程中使用的用户定义的聚集。
以下示例删除用户定义的聚集 my_avg:
DROP AGGREGATE my_avg;
如果您包含了可选的 IF EXISTS 关键字,则如果指定名称的聚集没在当前数据库中注册过,数据库服务器不执行任何操作(而不是向应用程序发送异常)。