在 FETCH 之后使用 VALUE 子句

每一次您的程序访存行时,它必须将访存的值复制到主变量内,以便可使用该数据。要完成此任务,在每次访问选择列表中的每一值之后,请使用 GET DESCRIPTOR 语句。如果在选择类表中存在三个值,则在每次访存之后,您需要使用三个 GET DESCRIPTOR 语句(假设您想要读取全部三个值)。这三个 GET DESCRIPTOR 语句的每一项编号为 1 23

下列 GBase 8s ESQL/C 示例展示您可如何在访存之后将数据从 DATA 域复制到主变量(result)内。对于此示例,预先确定所有的返回值为相同的数据类型:
EXEC SQL get descriptor 'demodesc' :desc_count = count;
.. .
EXEC SQL fetch democursor using sql descriptor 'demodesc';
for (i = 1; i <= desc_count; i++)
   {
   if (sqlca.sqlcode != 0) break;
   EXEC SQL get descriptor 'demodesc' value :i :result = DATA;
   printf("%s ", result);
   }
printf("\n");