使用滚动游标的 FETCH

这些 GBase 8s ESQL/C 示例说明使用滚动游标的 FETCH 语句:
EXEC SQL fetch previous q_curs into :orders;
EXEC SQL fetch last q_curs into :orders;
EXEC SQL fetch relative -10 q_curs into :orders;
printf("Which row? ");
scanf(" 
EXEC SQL fetch absolute :row_num q_curs into :orders;

滚动游标可访存活动的集合中的任意行,或者通过指定绝对行位置,或者通过指定相对偏移量。使用下列游标位置选项来指定您想要检索的特定行。

关键字
作用
NEXT
检索活动的集合中的下一行
PREVIOUS
检索活动的集合中的前一行
PRIOR
检索活动的集合中的前一行(与 PREVIOUS 同义。)
FIRST
检索活动的集合中的第一行
LAST
检索活动的集合中的最后一行
CURRENT
检索活动的集合中的当前行(与前面的 FETCH 语句从滚动游标返回的行相同)
RELATIVE
检索相对于活动的集合中当前游标位置的第 n 行,其中 position_num( position_num_var) 提供 n。负值指示当前游标位置之前的第 n 行。如果 position_num = 0,则访存当前行。
ABSOLUTE
检索活动的集合中的第 n 行,其中 row_position_var (或 row_position)= n。绝对行位置从 1 开始计数。
提示: 请不要将行位置值与 rowid 值相混淆。rowid 值是基于在其表中的位置,并在重建表之前保持有效。行位置值(ABSOLUTE 关键字检索到的值)是该行在游标的活动的集合中的相对位置;下一次打开游标时,可能选择不同的行。