I have seen a program already running fine in production , Which uses "FOR read only" in the cursor declaration. It also performs COMMIT each time it finishes processing 10,000 rows . But cursor not getting closed by the COMMIT.
I used to know for declare cursors we need to mention "WITH HOLD" if we want to perform COMMIT in between . thats why i got above doubt.