Я пытаюсь напечатать строки таблицы во встроенном sql. У меня есть этот код, где публикация является таблицей, а pubid - атрибутом. Я попытался это:Как избавиться от используемой метки, но не определено
EXEC SQL DECLARE C1 CURSOR FOR SELECT pubid FROM publication;
EXEC SQL OPEN C1;
EXEC SQL WHENEVER NOT FOUND GOTO close_c1;
for(;;) {
EXEC SQL FETCH C1 INTO :pubid;
cout<<pubid<<endl;
}
close_c1:
EXEC SQL CLOSE C1;
Компилятор дает мне эту ошибку: ошибка: метка «close_c1» используется, но не определена. Как это исправить?
Это действительно вопрос о своем встроенном процессоре SQL - который один вы используете? – 2010-07-08 19:16:38
Я использую DB2 с C++ – Dave
Я подозреваю, что ваш оператор WHENEVER не является, когда обрабатывается испускание оператора C++ 'goto'. Использование встроенного SQL в наши дни довольно редко, поэтому вам может быть лучше спросить сайт, специфичный для DB2. – 2010-07-08 21:34:06