本文主要是介绍GBASE南大通用分享如何将值插入至内层的集合,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在 SPL 例程中,您还可将值插入至嵌套的集合的内层集合。通常,要访问嵌套的集合的内 层集合并将值插入到它,请执行下列步骤:
1. 声明集合变量来在表的一行中保存整个集合。
2. 声明元素变量来保存该外层的集合的一个元素。元素变量本身是集合变量。
3. 将整个集合从表的一行选择至集合变量。
4. 声明游标,以便您可在外层的集合的元素间移动。
5. 一次将一个元素选择至元素变量内。
6. 请使用分支或循环来定位您想要更新的内层集合。
7. 将新值插入至内层的集合内。
8. 关闭游标。
9. 以新的集合更新数据库表。
作为示例,您可在 numbers 的 twin_primes 列上使用此过程。 例如,假设 twin_primes 包含 下图所示的值,且您想要将值 18 插入至 LIST 的最后的 SET 中。
图: twin_primes 列表。
LIST( SET( {3,5}, {5,7}, {11,13}, {17,19} ) )
下图展示插入该值的过程的开始。
图: 插入值的过程。
CREATE PROCEDURE add_int()
DEFINE list_var LIST( SET( INTEGER NOT NULL ) NOT NULL );
DEFINE set_var SET( INTEGER NOT NULL );
SELECT twin_primes INTO list_var FROM numbers
WHERE id = 100;
至此,attaint 过程已执行了步骤 1、2 和 3。第一个 DEFINE 语句声明保存在一个数值行中 的整个集合的集合变量。
第二个 DEFINE 语句声明保存该集合的元素的元素变量。在此情况下,元素变量本身是集 合变量,因为它保存 SET。SELECT 语句将整个集合从一行选择至集合变量 list_var 内。
下图展示如何声明游标,以便于您可在外层的集合的元素间移动。
图: 声明游标来在外层的集合的元素间移动。
FOREACH list_cursor FOR
SELECT * INTO set_var FROM TABLE( list_var);
FOREACH element_cursor FOR
这篇关于GBASE南大通用分享如何将值插入至内层的集合的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!