有时,您可能想要将元素添加在 LIST 的末尾。在此情况下,您可使用 cardinality() 函数来 找到 LIST 中的元素的编号,然后输入一个大于cardinality() 返回的值的位置。
GBase 8s 允许您随同存储在列中的集合来使用 cardinality() 函数,但不允许随同存储在集合 变量中的集合来使用。在 SPL 例程中,您可以 SELECT 语句检查列中的集合的基数,并 将该值返回给变量。
假设在 numbers 表中,其 id 列为 99 的那一行的 evens 列仍然包含集合 LIST {2,4,6,8,10}。 这一次,您想要将元素 12 添加在该 LIST 的末尾。您可使用 SPL 过程 end_of_list 实现, 如下图所示。
end_of_list SPL 过程
在 end_of_list 中,变量 n 保存 cardinality() 返回的值,即,LIST 中的项数。LET 语句使 n 递 增,以便于 INSERT 语句可在 LIST 的最后的位置插入值。SELECT 语句将来自该表的一 行的集合选择至集合变量 list_var 内。INSERT 语句将元素 12 插入在该列表的结尾。