返回首页

gbase数据、南大通用产品文档:GBase8sDROP ROW TYPE 语句

更新日期:2024年09月11日

使用 DROP ROW TYPE 语句从数据库中删除现有的名为 ROW 的数据类型。
该语句是 SQL ANSI/ISO 标准的扩展。
语法

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

元素
描述
限制
语法
owner
ROW 类型所有者的名称
必须是 row_type 的
所有者
所有者名称
row_type 要删除的现有的 ROW 数
据类型的名称
必须存在。另见后面
的用法部分
标识符; 数据
类型
用法
DROP ROW TYPE 语句从 sysxtdtypes 系统目录表中删除指定 row_type 的条
目。您必须是指定名称的 ROW 数据类型的所有者或具有 DBA 权限才可以 使
用 DROP ROW TYPE 语句。
如果您包含可选的 IF EXISTS 关键字,则没有指定名称的 ROW 数据类型在当
前数据库中存在,则数据库服务器不采取任何操作(而不是向应用程序发送异
常)。
如果一个已命名的 ROW 数据类型的名称正在使用中,则不能删除该数据类型。当
以下的任何条件为真时,不能删除已命名的 ROW 数据类型:

任何现有的表或列正在使用已命名的 ROW 数据类型。

已命名的 ROW 数据类型在继承层次结构中是超类型。

在已命名的 ROW 数据类型的列上定义了视图。
要从表中删除名为 ROW 类型的列,请使用 ALTER TABLE。
DROP ROW TYPE 语句不能删除未命名的 ROW 数据类型。
RESTRICT 关键字
RESTRICT 关键字要求同 DROP ROW TYPE 语句使用。如果 row_type 上的从
属性存在,则 RESTRICT 会引起 DROP ROW TYPE 失败。
如果以下任一条件为真,则 DROP ROW TYPE 语句失败并返回错误消息:

已命名的 ROW 数据类型用于现有的表或列。

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 582
查看 systables 和 syscolumns 系统目录表来查找是否任何表或数据类型
使用了已命名的 ROW 数据类型。

已命名的 ROW 数据类型在继承层次结构中是超类型。
查找 sysinherits 系统目录表来查看哪一个已命名的ROW 数据类型具有
子类型。
以下语句删除了已命名的 ROW 数据类型 employee_t:
DROP ROW TYPE employee_t RESTRICT

在针对一个数据源执行命令之后的更新过程中发生。如果试图更新,该事
件就会发生。

语法
[Visual Basic]
Public Event RowUpdated As GBaseRowUpdatedEventHandler
[C#]
public event GBaseRowUpdatedEventHandler RowUpdated

事件数据
事件句柄接受一个包含关于事件数据的GBaseRowUpdatedEventArgs 参数。
下面的GBaseRowUpdatedEventArgs 属性提供了特定事件的信息。
属性提供的特定事件的信息
属 性
描 述
Command
事件发生时,获取或设置的
GBaseCommand 对象。
Errors
当执行Command 的时候,
获取任何.NET
框架数据源产生的错误。
RecordsAffected
得到SQL 语句在执行插入、
更新、
删除
时影响的行数。
Row
当前更新的DataRow。
StatementType
获取执行的 SQL 语句类型。

GBase 8a 程序员手册ADO.NET 篇


- 202 -

南大通用数据技术股份有限公司
属 性
描 述
Status
获取Command 的UpdateStatus 属性。
TableMapping
获取DataTableMapping。

GBA-02IS-0002
错误码
错误标识
错误信息
GBA-02IS-0002

get column hash information error
错误出现原因
获取column hash 信息错误
分析与建议
无法根据计算的hash 值计算出数据应该放到哪个节点上,原因是nodedatamap
表查询有误。