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 关键字,则如果指定名称的聚集没在当前数据库中注册过,数据库服务器不执行任何操作(而不是向应用程序发送异常)。