这些
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 关键字检索到的值)是该行在游标的活动的集合中的相对位置;下一次打开游标时,可能选择不同的行。