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

GBASE南大通用分享如何将值插入至内层的集合

原创 郑小雯 2024-01-23
95

将值插入至内层的集合 

  在 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  

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

评论