Как использовать курсор FAST_FORWARD
в MySQL? Я прочитал документацию и посмотрел примеры кода, но он не работает, когда я пытаюсь запустить его в MySQL 8.
Мне нужно перебрать таблицу с множеством строк. У меня есть рабочая хранимая процедура, которая делает то, что мне нужно, но она медленная, и я хочу повысить производительность с помощью курсора LOCAL FAST_FORWARD
. Когда я изменяю объявление курсора на LOCAL FAST_FORWARD
, я получаю следующую ошибку:
"LOCAL" недействителен в этой позиции, ожидая: FOR
Если я уберу слово LOCAL
из объявления курсора, я получу следующую ошибку:
Обнаружен посторонний ввод "FAST_FORWARD", ожидая: FOR
Мне кажется, что эти слова просто не относятся к объявлению курсора, но я не могу понять это. Я не мог найти ничего об этой проблеме в официальной документации, и поиск в Интернете был напрасным.
DECLARE salesCursor CURSOR LOCAL FAST_FORWARD FOR
SELECT Sales, Price, Cost, SalesDate, SKULocationID FROM aver.sales
WHERE SalesDate <= firstSaleDate
ORDER BY SalesDate DESC;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished = 1;