返回首页

gbase数据、南大通用产品文档:GBase8sALTER ACCESS_METHOD 语句

更新日期:2024年09月11日

可以使用 ALTER ACCESS_METHOD 语句更改一个或多个 sysams 系统目录表
中用户定义的主或从的存取方法的属性。
语法
元素
描述
限制
语法
access_method 要更改的
存取方法
的名称
存取方法必须由先前的
CREATE ACCESS_METHOD 语句
在 sysams 系统目录表中注

标识符

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 31
元素
描述
限制
语法
owner
存取方法
所有者的
名称
必须拥有该存取方法
所有者名称
purpose
_keyword
表示要更
改的特征
的关键字
关键字必须通过先前的
CREATE 或 ALTER
ACCESS_METHOD 语句和存取
方法相关联
用途函数、标
志和值
用法
该语句是 SQL ANSI/ISO 标准的扩展。该语句无法修改内置的存取方法。
使用 ALTER ACCESS_METHOD 更改用户定义存取方法的定义。您无法修改内
置的存取方法。
您必须是该存取方法的所有者或具有修改用户定义存取方法的 DBA 特权。在符
合 ANSI 的数据库中,如果另一个用户是该存取方法的所有者,那么 DBA 必须
限定该存取方法的名称。
当更改存取方法时,您同时更改了定义该存取方法的目的选项规范(目的函数、
目的标志或目的值)。例如,您可以更改一个存取方法以分配一个新的用户定义
的函数或方法名称,或为一个表的扫描成本提供乘数。
如果事务正在处理中,则数据库服务器将等待修改存取方法,直接提交或回滚该
事务。该事务完成之前,其他任何用户都无法执行该存取方法。
示例
以下语句更改了 remote 用户定义的存取方法:
ALTER ACCESS_METHOD remote
ADD am_scancost = FS_scancost,
ADD am_rowids,
DROP am_getbyid,
MODIFY am_costfactor = 0.9;
上述示例将对该存取方法进行以下修改:

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 32

添加一个称为 FS_scancost( ) 的用户定义的函数或方法,它在 sysams
表中与 am_scancost 关键字向关联。

设置(添加) am_rowids 标记

删除与 am_getbyid 关键字相关联的用户定义的函数或方法

修改 am_costfactor 值

Specified UDT java class is not found
应用程序调用了 UDTManager.createUDT() 方法但是未找到您为第三方参数指定的名称的
类。

table_distribution
表的当前distribution 信息
表 5-93 具体信息如下:
index_name
dbName.tbName 组成
dbName
数据库名
tbName
表名
isReplicate
是否为复制表
hash_column
hash 列名
lmt_storage_size
表容量上限
table_storage_size
当前表容量

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 328
is_nocopies
是否为nocopy 表
data_distribution_id
表的distribution_id