How can I fetch a single count value from a database with DBI?
I probably wouldn't do this myself, but you could always make it a new top-level function of the DBH object you're using:
WARNING: untested code follows!
sub DBD::SQLite::db::count{ my($dbh, $table, $where) = @_; my($stmt) = "SELECT COUNT(*) FROM $table"; $stmt .= " WHERE $where" if $where; my($count) = $dbh->selectrow_array($stmt); return $count;}
and then call it like this:
my($cnt) = $dbh->count('Employee', 'year_hired < 2000');
Besides polluting a namespace that's not yours, you'd also have to write this for every DB driver you use, though I'm sure your could work something up that allows you to construct and eval some code to auto-configure this for a given DBH object.