检索多行 / 访存行 |
EXEC SQL DECLARE the_item CURSOR FOR SELECT order_num, item_num, stock_num INTO :o_num, :i_num, :s_num FROM items; EXEC SQL OPEN the_item; if(SQLCODE == 0) EXEC SQL FETCH the_item; /* fetch 1st row*/ while(SQLCODE == 0) { printf("%d, %d, %d", o_num, i_num, s_num); EXEC SQL FETCH the_item; }
在此版本中,早已处理了无返回行的情况,因此,在循环中不存在第二次 SQLCODE 测试。由于 SQLCODE 测试的时间成本是访存成本的很小一部分,因此这些版本在性能上没有多大差异。