【发布时间】:2011-08-03 19:35:02
【问题描述】:
我正在将 ingres C 程序转换为 Oracle Pro*C。
我创建并打开一个游标来执行 SELECT(不是 SELECT FOR UPDATE)。
现有程序确实(大致)
EXEC SQL DECLARE N CURSOR for SELECT...
EXEC SQL OPEN N
EXEC SQL FETCH N INTO :new
while (sqlca.sqlcode != 100) {
// process the contents of :new
EXEC SQL FETCH N INTO :new
}
EXEC SQL CLOSE N;
当我到达 select 语句返回的最后一行时,我得到一个错误,ORA-01002: fetch out of sequence。
我不想将我的清理代码放在我的错误处理程序中;我宁愿循环干净地退出。
【问题讨论】:
-
自己解决了 - 见下文 - 只是想在此处捕获它以防其他人发生这种情况。