返回首页

gbase数据、南大通用产品文档:GBase8c参数说明

更新日期:2024年09月11日


-c
指定需要在GBase 8c 各主机上执行的linux shell 命令名。

-?, --help
显示帮助信息。

-V, --version
显示版本号信息。

NUMERIC 数据类型与DECIMAL 数据类型完全等价。

使用 DROP TABLE 语句可删除表,以及与之关联的索引和数据。该语句是 SQL
ANSI/ISO 标准的扩展。
语法

元素
描述
限制
语法
owner
表所有者的名称
必须拥有表
所有者名

synonym 要删除的表的本地
同义词
该同义词和表必须存在,
USETABLENAME 必须设置为 1
标识符
table
要删除的表的名称 必须在本地数据库的 systables
系统目录表中注册
标识符
用法
您必须是表的所有者或拥有 DBA 特权才能使用 DROP TABLE 语句。
如果您包含可选的 IF EXISTS 关键字,则如果未在当前数据库中注册指定名称的
表,则数据库服务器不执行任何操作(而不是向应用程序发送异常)。
您无法删除系统目录表。
如果发出 DROP TABLE 语句,则 DB-Access 不会提示您验证是否想要删除整个
表。
DROP TABLE 语句的效果
使用 DROP TABLE 语句要谨慎。当您删除一个表时,也会删除存储在其中的数
据、索引或对列的约束(包括对该表的列的所有参考约束)、分配给该表的任何

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 588
本地同义词、在该表上创建的任何触发器以及给予该表的任何授权。同时您也删
除了基于该表的所有视图以及与该表相关联的任何违例和诊断表。
DROP TABLE 不会删除在外部数据库中创建的表的任何同义词。要删除以删除的
表的外部的同义词,必须使用 DROP SYNONYM 语句显式地执行此操作。
您可以通过设置 USETABLENAME 环境变量来防止用户在 DROP TABLE 语句
中指定同义词。如果设置了 USETABLENAME ,当前任何用户试图指定 DROP
TABLE synonym 时将导致错误。
指定 CASCADE 方式
DROP TABLE 中的 CASCADE 关键字会删除相关的数据库对象,包括构建在表
上的参考约束、定义在表上的视图以及与表相关联的任何违例和诊断表。
如果表在继承层次结构中是超级表,则 CASCADE 删除所有的子表和超级表。
CASCADE 方式是 DROP TABLE 语句的缺省方式。您也可以使用 CASCADE
关键字显式地指定此方式。
指定 RESTRICT 方式
RESTRICT 关键字可以控制对以下对象的删除操作:超级表、在该表上定义的视
图、含有与表相关联的违例和诊断表。如果任何以下条件为真,则使用
RESTRICT 选项会引起删除操作失败并返回一条出错消息:

现有的参考约束引用 table 。

现有的视图定义在 table 上。

任何违例表或诊断表与 table 相关联。

table 在继承层次结构中是超级表。
删除包含不透明数据类型的表
当删除一些不透明数据类型时,它们需要特别的处理过程。例如,如果某个不透
明类型包含空间或多重表示数据,那么它可能提供如何存储数据的选项:存储于
内部结构中或者(对于大对象)智能大对象中。
数据库服务器通过调用称为 destroy( ) 的用户定义的支持函数删除不透明类型。
对行包含不透明类型的表执行 DROP TABLE 语句时,数据库服务器自动调用该

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 589
类型的 destroy( ) 函数。在删除表之前,destroy( ) 函数可以对不透明数据类型的
列执行某些确定的函数。有关 destroy( ) 支持函数的更多信息,请参阅 GBase 8s
用户定义的例程和数据类型开发者指南 。
无法删除的表
可以删除的表的类型是有限制的。

不能删除任何系统目录表。

无法删除不在当前数据库中的表。

不能删除违例表或诊断表。
在删除表之前,您必须先对违例表和诊断表所关联的基本表发出 STOP
VIOLATIONS TABLE 语句。
以下示例删除了当前数据库中的两个表。它们都被当前用户 joed 拥有。且与违
例表和诊断表都没有关联,表上也没有定义引用约束或视图。
DROP TABLE customer;
DROP TABLE stores_demo@accntg:joed.state;