返回首页

gbase数据、南大通用产品文档:GBase8s将集合值插入到列内

更新日期:2024年09月11日

此部分描述如何使用 DB-Access 将集合值插入到列内。它未讨论如何将个别元素插入到集
合列内。
要访问或修改集合的个别元素,
请使用 GBase 8s ESQL/C 程序或 SPL 例程。
要获
取关于如何创建 GBase 8s ESQL/C 程序来插入到集合内的信息,请参阅《GBase 8s ESQL/C
程序员手册》。要获取关于如何创建 SPL 例程来插入到集合内的信息,请参阅 创建和使
用 SPL 例程。
本部分提供的这些示例是基于下图中的 manager 表。
manager 表同时包含简单的和嵌套的集
合类型。
图: 创建 manager 表。
CREATE TABLE manager
(
mgr_name VARCHAR(30),
department VARCHAR(12),
direct_reports SET(VARCHAR(30) NOT NULL),

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 167 -

projects LIST(ROW(pro_name VARCHAR(15),
pro_members SET(VARCHAR(20) NOT NULL))
NOT NULL)
);

将值插入到简单的集合和嵌套的集合内
当您将值插入包含集合列的行内时,您插入集合列包含的所有元素的值以及其他列的值。
例如,下列语句将单个行插入到 manager 表内,该表同时包括简单的集合和嵌套的集合列:
INSERT INTO manager(mgr_name, department,
direct_reports, projects)
VALUES
(
'Sayles', 'marketing',
"SET{'Simonian', 'Waters', 'Adams', 'Davis', 'Jones'}",
LIST{
ROW('voyager_project', SET{'Simonian', 'Waters',
'Adams', 'Davis'}),
ROW ('horizon_project', SET{'Freeman', 'Jacobs',
'Walker', 'Smith', 'Cannan'}),
ROW ('saphire_project', SET{'Villers', 'Reeves',
'Doyle', 'Strongin'})
}
);

将 NULL 值插入到包含 row 类型的集合内
要将值插入到 ROW 类型的集合内,您必须为 ROW 类型中的每一字段指定值。
通常,在集合中不允许 NULL 值。然而,如果集合的元素类型为 ROW 类型,则您可将
NULL 值插入到 row 类型的个别字段内。
您还可指定空集合。
空集合是不包含任何元素的集合。
要指定空集合,
请使用大括号
({})

例如,
下列语句将数据插入到 manager 表中的行内,
但指定 direct_reports 和 projects 列为空
集合:
INSERT INTO manager
VALUES ('Sayles', 'marketing', "SET{}",
"LIST{ROW(NULL, SET{})}"
);

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 168 -

集合列不可包含 NULL 元素。由于指定 NULL 值作为集合的元素,因此下列语句返回一
个错误:
INSERT INTO manager
VALUES ('Cole', 'accounting', "SET{NULL}",
"LIST{ROW(NULL, ""SET{NULL}"")}"
下列语法规则适用于对集合类型执行插入和更新:
使用大括号({})来划分每一集合包含的元素。
如果该集合为嵌套的集合,则使用大括号({})来同时划分内部集合和外部集合的元素。

功能说明
列权限表,给出关于列权限的信息。
表结构说明
表5- 210 表结构信息说明:




GRANTEE
被赋予权限的用户名
TABLE_CATALOG
表登记目录
TABLE_VC
列所在表所属数据库所在的虚拟集群名
TABLE_SCHEMA
列所在表所属的数据库名
TABLE_NAME
列所在表名
COLUMN_NAME
列名
PRIVILEGE_TYPE
权限类型
IS_GRANTABLE
是否具有赋予权限的权限

使用本功能,您可以编辑已经创建的连接。
您可以在“数据库导航”选择已经创建的连接,然后右键菜单,如下图所
示:

GBaseDataStudio 管理工具手册
- 18 -
南大通用数据技术股份有限公司
图5- 11 编辑连接-右键菜单
选择
“编辑连接”
菜单项后,
打开编辑界面,编辑后点击
“确定”
按钮即可,
如下图所示:

GBaseDataStudio 管理工具手册
南大通用数据技术股份有限公司
- 19 -
图5- 12 编辑连接