2014-01-16 3 views
2

Как преобразовать следующую процедуру оракула во время цикла в Mysql?Oracle to Mysql% FOUND

WHILE rout_acc_cursor%FOUND 
     do something 
END LOOP 

В чем смысл использования% FOUND?

ответ

2

%FOUND Возвращает TRUE, если инструкция INSERT, UPDATE или DELETE влияет на одну или несколько строк, или инструкция SELECT INTO возвращает одну или несколько строк. В противном случае он возвращает FALSE.

Из официальной документации. Читайте о ORACLE курсоров here

Вы можете создать MySQL курсор с некоторыми IF THEN проверки, с помощью last_modify полей вашей таблицы (набор CURRENT_TIMESTAMP к этим полям). Объявите курсор и проверьте, была ли эта строка изменена, чем do something.

Если вы удалите строки - не удаляйте их. Просто вставьте поле state с ENUM tinyint «DELETED», в другом случае вы пропустите эти строки в своем курсоре (пропустите некоторые функции% FOUND).