Как преобразовать следующую процедуру оракула во время цикла в Mysql?Oracle to Mysql% FOUND
WHILE rout_acc_cursor%FOUND
do something
END LOOP
В чем смысл использования% FOUND?
Как преобразовать следующую процедуру оракула во время цикла в Mysql?Oracle to Mysql% FOUND
WHILE rout_acc_cursor%FOUND
do something
END LOOP
В чем смысл использования% FOUND?
%FOUND
Возвращает TRUE, если инструкция INSERT, UPDATE или DELETE влияет на одну или несколько строк, или инструкция SELECT INTO возвращает одну или несколько строк. В противном случае он возвращает FALSE.
Из официальной документации. Читайте о ORACLE курсоров here
Вы можете создать MySQL курсор с некоторыми IF THEN
проверки, с помощью last_modify
полей вашей таблицы (набор CURRENT_TIMESTAMP
к этим полям). Объявите курсор и проверьте, была ли эта строка изменена, чем do something
.
Если вы удалите строки - не удаляйте их. Просто вставьте поле state
с ENUM tinyint «DELETED», в другом случае вы пропустите эти строки в своем курсоре (пропустите некоторые функции% FOUND).