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

从集合游标访存

淮海路小佩奇 2023-10-13
78


集合游标允许您访问 GBase 8s ESQL/C 集合变量的个别元素。要声明集合游标,请使用 DECLARE 语句,并将集合派生表段包括在与游标关联的 SELECT 语句中。在您以 OPEN 语句 打开集合游标之后,该游标允许您来访问集合变量的元素。

要从集合游标每次访存一个元素,请使用 FETCH 语句和 INTO 子句。FETCH 语句标识以集合变 量关联的集合游标。INTO 子句标识保留从集合游标访存的元素值的主变量。INTO 子句中的主变 量的数据类型必须与集合的元素类型相配。

假设您有一名为 children 的表,具有下列结构:

CREATE TABLE children ( age SMALLINT, name VARCHAR(30), fav_colors SET(VARCHAR(20) NOT NULL), )

下列 GBase 8s ESQL/C 代码段展示如何从 child_colors 集合变量访存元素:

EXEC SQL BEGIN DECLARE SECTION; client collection child_colors; varchar one_favorite[21]; char child_name[31] = "marybeth"; EXEC SQL END DECLARE SECTION; EXEC SQL allocate collection :child_colors; /* Get structure of fav_colors column for untyped * child_colors collection variable */ EXEC SQL select fav_colors into :child_colors from children where name = :child_name; /* Declare select cursor for child_colors collection * variable */ EXEC SQL declare colors_curs cursor for select * from table(:child_colors); EXEC SQL open colors_curs; do { EXEC SQL fetch colors_curs into :one_favorite; ... } while (SQLCODE == 0) EXEC SQL close colors_curs; EXEC SQL free colors_curs; EXEC SQL deallocate collection :child_colors;

在访存集合元素之后,您可以 UPDATA 或 DELETE 语句修改该元素。要获取更多信息,请参阅 本文档中的 UPDATE 和 DELETE 语句。您还可以 INSERT 语句将新元素插入到集合变量内。要 获取更多信息,请参阅 INSERT 语句。

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

评论