Курсор 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?

0 ответов

Другие вопросы по тегам