The code is incomplete and there is no way to judge.
You can only use select * from v$open_cursor to see which cursors are currently open.
After the statement is created in the loop, it must be closed in time, otherwise the cursor will easily surpass it.