Курсор SQL бесконечен даже тогда, когда не найден разрыв
Мой SQL-код с C прост:
...
memset(statement, '\0', sizeof(statement));
sprintf(statement, sizeof(statement), "select col1, col2 from table1");
EXEC SQL PREPARE SEL_INSTR FROM :statement;
EXEC SQL DECLARE MY_CURSOR CURSOR FOR SEL_INSTR;
EXEC SQL OPEN MY_CURSOR;
EXEC SQL WHENEVER NOT FOUND DO break;
...
while(1){
EXEC SQL FETCH MY_CURSOR INTO :dt1, :dt2;
current_row++;
}
EXEC SQL CLOSE MY_CURSOR;
...
В моей таблице 4 строки данных. Что странно, даже с использованием DO BREAK мой цикл продолжается до бесконечности. Я пропускаю некоторые инструкции для sql?