Is the result set, after running all four cursors, supposed to be a single record, four records, or more than four records (depending upon the total number of table names returned in all of the cursors)?
Are you using the wildcard characters in the cursor definitions because, at execution time, you do not know the names of the tables? Or is it because you want to return more than one record in any, several, or all, of the cursors?
I'm just a beginner at this, but I can tell you that cursors are the very last option to returning a dataset. I see no reason why this entire logic could not be written in a single SELECT statement, which is far preferable to these four cursors.