返回首页

gbase数据、南大通用产品文档:GBase8aDROP TABLE

更新日期:2024年09月11日

GBase UP 支持删除在GBase UP 上创建的Oracle 引擎的表格,在本章节介绍通过
GBase UP 来删除Oracle 引擎的表。

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 744
语法格式
DROP TABLE [db_name.]table_name [PURGE]
参数说明

db_name:该参数为可选参数,指定数据库后,在此数据库下删除表。如果没
有显示指定db_name 参数,删除的表隶属于USE db_name 后的数据。

table_name:默认情况下,在当前数据库中删除表。如果没有指定当前数据库或
表不存在,则报告错误信息。

[PURGE]:drop 后的表被放在回收站(user_recyclebin)里,而不是直接删除掉。
这样,回收站里的表信息就可以被恢复,或彻底清除。若要彻底删除表,则使
用语句:drop table purge;
示例
示例1:删除数据表。
gbase> drop table t_oracle;
Query OK, 0 rows affected (Elapsed: 00:00:00.17)
示例2:彻底删除数据表。
gbase> drop table t_oracle purge;
Query OK, 0 rows affected (Elapsed: 00:00:00.17)

使用 RENAME TRUSTED CONTEXT 语句来更改可信的上下文对象的名称。
此语句是对 SQL 的 ANSI/ISO 标准的扩展。您必须持有数据库安全管理员
(DBSECADM)角色来重命名可信的上下文。
语法

元素
描述
限制
语法
old_name new_name 替代的
可信的上下文标识

必须为数据库服务器的现有的可信
的上下文对象
标识符
new_name 您在此为可信的上
下文声明的新名称
必须为一部分名称,无限定符。它
不可以字符 "SYS" 开头,且必须
不标识在数据库服务器上业已存在
的可信的上下文。
标识符
用法

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 802
new_name 和 old_name 不可包括限定符,诸如 owner、database 或 dbserver。
成功地执行 RENAME TRUSTED CONTEXT 语句之后,所有对 old_name 的引用都会
被 GBase 8s 数据库服务器实例的 sysuser 数据库中的这些表中的 new_name 所
替代:

systrustedcontext

systcxattributes

systcxusers.
此外,那些尝试通过引用该 old_name 来建立到该数据库的连接的应用程序将会
失败,除非已经声明该 old_name 作为新的可信的上下文对象的标识符。
如果在此上下文的可信的连接为活动的时候,您重命名该可信的上下文,则那些
连接保持为可信的,直到它们终止为止,或直到下一重用尝试为止。然而,如果
尝试着切换在这些可信的连接上的用户,则返回错误。
下例是一个完整的 RENAME TRUSTED CONTEXT 语句,以 cntx2 作为 cntx1 可信
的上下文的新名称替代安全对象标识符 cntx1:
RENAME TRUSTED CONTEXT cntx1 TO cntx2;
在下列任一情况下,此示例失败:

如果 cntx1 不是当前数据库服务器实例的可信的上下文对象的名称,

或如果 cntx2 已是同一数据库服务器的现有的可信的上下文对象的名称。

这个参数被传给所有3 个函数,它指向一个UDF_INIT 结构,被用来在函数之间
传递信息。UDF_INIT 结构成员列在下面。初始化函数应该初始化它想要改变的
任何成员。对一个成员使用缺省值,不改变它。
my_bool maybe_null
如果func()能返回NULL,func_init()应该设置maybe_null 为1。如果任何一个参
数被声明为maybe_null,缺省值是1。
unsigned int decimals
小数位数目。缺省值是在被传给主函数的参数中小数位的最大数目。(例如,如
果函数传递1.11、1.111 和1.1,缺省值将是3,因为1.111 有3 个小数位。
unsigned int max_length
返回结果的最大长度。缺省值不同,取决于函数的结果类型。对字符串函数,缺
省是最长的参数的长度。对整数函数,缺省是21 位。对实数函数,缺省是13 加
上由initid->decimals 指出的小数位数。对数字函数,长度包括任何符号位或小数
点字符。
char *ptr
函数可以自己使用的一个指针。例如,函数能使用initid->ptr 在函数之间传递分
配的内存。在func_init()中,分配内存并将它赋给这个指针:

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1386
initid->ptr = allocated_memory;
说明
在func()和func_deinit()中,使用initid->ptr 并释放内存。