暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase教学,,如何检查 LIST 集合的基数

郑小雯 2023-10-13
51

检查 LIST 集合的基数

有时,您可能想要将元素添加在 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 过程。

CREATE PROCEDURE end_of_list() DEFINE n SMALLINT; DEFINE list_var LIST(INTEGER NOT NULL); SELECT CARDINALITY(evens) FROM numbers INTO n WHERE id = 100; LET n = n + 1; SELECT evens INTO list_var FROM numbers WHERE id = 100; INSERT AT n INTO TABLE(list_var) VALUES(12); END PROCEDURE;

在 end_of_list 中,变量 n 保存 cardinality() 返回的值,即,LIST 中的项数。LET 语句使 n 递 增,以便于 INSERT 语句可在 LIST 的最后的位置插入值。SELECT 语句将来自该表的一 行的集合选择至集合变量 list_var 内。INSERT 语句将元素 12 插入在该列表的结尾。 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论