Determining if a DBI SELECT comes back emptyby spacewarp (Pilgrim)
|on Dec 05, 2003 at 20:27 UTC||Need Help??|
spacewarp has asked for the
wisdom of the Perl Monks concerning the following question:
Got a problem here that it seems to me that there should be an elegent solution to, but darned if I can find it..
I have an order entry system written in Perl/DBI/MySQL, and within this system I often need to create new queries based on the results of previous ones. The problem is, I don't have an elegant way of determining if a SELECT statement came back with 0 results. The best I've been able to come up with is to read all of the rows of results into an array of arrays, determine if that array is empty or not, and then continue processing if it isn't. The problem here, of course, is that it takes up a heck of a lot of memory (not something you want when 20 reps are going to be using it simultaneously), and is ugly to work with (and probably horrific for someone else to maintain)
Does anyone have an idea of how I can do this better? I know that when I submit queries directly in MySQL's client, I get extra data like:
10 rows in set (0.00 sec)
Empty set (0.26 sec)
All I'm looking for is a way to access this data from Perl.
Use of this advanced computing technology does not imply an endorsement
of Western industrial civilization.