使用集合变量操纵集合元素

当使用 GBase 8s 的数据操纵语句(SELECT 、INSERT 、UPDATE 或 DELETE)和 collection 变量一起使用时,您可以修改集合中的一个和多个元素。

修改集合中的约束

  1. 在 SPL 例程或 GBase 8s ESQL/C 程序中创建一个 collection 变量。
    有关如何在 GBase 8s ESQL/C 中声明 collection 集合变量的信息,请参阅 GBase 8s ESQL/C 程序员手册。有关如何在 SPL 中定义 COLLECTION 变量,请参阅 DEFINE
  2. GBase 8s ESQL/C 中,为集合分配内存;请参阅 ALLOCATE COLLECTION 语句
  3. 可选地,使用 SELECT 语句将一个 COLLECTION 列选择到 collection 变量中。
    如果变量是一个为归类的 COLLECTION 变量,那么在集合派生表段中使用该变量之前,必须从 COLLECTION 列执行 SELECT。SELECT 语句允许数据库服务器获取集合数据类型。
  4. 使用适当的带集合派生表段的数据操纵语句在集合变量中添加、删除或修改元素。
    要在集合中插入多个元素或删除一个指定的元素,必须对集合变量使用游标。
    • 有关如何在 ESQL/C 中使用更新游标的更多信息,请参阅 DECLARE 语句
    • 关如何在 SPL 中使用更新游标的更多信息,请参阅 FOREACH
  5. 集合变量具有正确的元素以后,对包含实际集合列的表或视图使用 INSERT 或 UPDATE 语句,来保存集合变量的更改。
    • 使用 UPDATE,在 SET 子句中指定集合变量。
    • 使用 INSERT,在 VALUES 子句中指定集合变量。

集合变量存储集合的元素。不过,它与数据库列之间没有内在连接。一旦集合变量包含了正确的元素,那么必须用 INSERT 或 UPDATE 语句把变量保存到表的实际集合列中。