1. DROP ACCESS_METHOD 语句

使用 DROP ACCESS_METHOD 语句可从数据库除去之前定义的主或辅助存取方法。

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

语法

GBase数据库 docker Gbase数据库调用存储得语句_GBase数据库 docker

 

元素

描述

限制

语法

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;

  1. DROP AGGREGATE 语句

使用 DROP AGGREGATE 语句删除您用 CREATE AGGREGATE 语句创建的用户定义的集合。

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

语法

GBase数据库 docker Gbase数据库调用存储得语句_数据库_02

 

元素

描述

限制

语法

aggregate

要删除的用户定义的聚集的名称

先前必须已用 CREATE AGGREGATE 语句创建

标识符

owner

聚集的所有者

必须拥有此聚集

所有者名称

用法

删除用户定义的聚集不会删除您在 CREATE AGGREGATE 语句中为聚集定义的支持函数。数据库服务器不会对您在语句中使用的用户定义的聚集追踪 SQL 语句的依赖性。例如,您可以删除 SPL 例程中使用的用户定义的聚集。

以下示例删除用户定义的聚集 my_avg

DROP AGGREGATE my_avg;

如果您包含了可选的 IF EXISTS 关键字,则如果指定名称的聚集没在当前数据库中注册过,数据库服务器不执行任何操作(而不是向应用程序发送异常)。