当您使用 DB-Access 来 更新集合类型时,您必须更新整个集合。下列语句展示如何更
新 projects 列。 要定位需要更新的行,请使用 IN 关键字在direct_reports 列上执行搜索。
UPDATE manager
SET projects = "LIST
{
ROW('brazil_project', SET{'Pryor', 'Murphy', 'Kinsley',
'Bryant'}),
ROW ('cuba_project', SET{'Forester', 'Barth', 'Lewis',
'Leonard'})
}"
WHERE 'Williams' IN direct_reports;
在前一语句中第一次出现的 SET 关键字是 UPDATE 语句语法的一部分。
GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司
- 178 -
重要:
请不要将 UPDATE 语句的 SET 关键字与表明集合为 SET 数据类型的 SET 构造函数
相混淆。
虽然您可使用 IN 关键字来定位简单集合的特定元素,但您不可从 DB-Access 更新集合列
的个别元素。然而,您可创建 GBase 8s ESQL/C 程序和 SPL 例程来更新集合内的元素。要
获取关于如何创建 GBase 8s ESQL/C 程序来更新集合的信息,
请参阅
《GBase 8s ESQL/C 程
序员手册》。要获取关于如何创建 SPL 例程来更新集合的信息,请参阅 处理集合 部分。