2014-01-16 48 views
2

如何將while循環轉換爲以下Oracle過程到Mysql?Oracle到Mysql%FOUND

WHILE rout_acc_cursor%FOUND 
     do something 
END LOOP 

using%FOUND是什麼意思?

回答

2

%FOUND如果INSERT,UPDATE或DELETE語句影響一個或多個行或SELECT INTO語句返回一個或多個行,則返回TRUE。否則,它返回FALSE。

從官方文檔。閱讀關於ORACLE遊標here

您可以創建MySQL光標一些IF THEN檢查,使用表格的last_modify領域(設置CURRENT_TIMESTAMP這個字段)。聲明遊標並檢查該行是否被修改爲do something

如果刪除行 - 不要真的刪除它們。只需在tinyint「DELETED」的ENUM中插入state字段,在其他情況下,您會錯過遊標中的這些行(錯過某些%FOUND功能)。