in reply to Recursive dbh executions

As you're creating a new statement handle, I wouldn't think it would be a problem. (that's not to say that there aren't any database that won't have a problem, but in the general sense of it, having multiple selects shouldn't be a problem). (trying to hold open a select cursor too long could be a problem if you're trying to ensure read consistency in your transaction, especially if you're performing a lot of writes in that same transaction)

I would make sure that I explicitly cleaned up after myself, though:

$sth->finish()

(yes, I know that Perl's garbage collection should take care of it when it goes out of scope, I'm just paranoid)

Also, if you're using Oracle, there's built in heirarchy handling, via CONNECT BY. It's possible that other databases might have ways of handling it, as well.