Задавайте вопросы, мы ответим
Вы не зашли.
Пишу 1:
CREATE TEMPORARY TABLE `IDs` ( `RowID` NCHAR(38) PRIMARY KEY, `Level` int );
DECLARE RowCursor CURSOR FOR SELECT `RowID` FROM `IDs` ;
получаю
You have an error in your SQL syntax
Пишу 2:
DECLARE RowCursor CURSOR FOR SELECT `RowID` FROM `IDs` ;
CREATE TEMPORARY TABLE `IDs` ( `RowID` NCHAR(38) PRIMARY KEY, `Level` int );
получаю
ok
почему первое предложение выдает ошибку, а второе нет? Логичнее было бы предположить наоборот так как объявляется временная таблица, а потом объявляется курсор по ее содержимому, а не наоборот. Если же ситуация 1 и 2 конгруэнтны между собой, то почему выдается ошибка?
Неактивен
Все объявления (DECLARE) переменных должны быть в начале процедуры, до любых
действий. Как следствие, Вы не можете объявить курсор после создания (действия)
временной таблицы.
С другой стороны, это не должно вызывать проблем - ведь Вы обращаетесь за данными
только в момент открытия курсора.
Неактивен