Le code suivant semble être trop, pour obtenir une seule valeur de comptage. Existe-t-il une meilleure façon recommandée d'extraire une seule valeur COUNT en utilisant DBI simple?Comment puis-je récupérer une seule valeur de comptage à partir d'une base de données avec DBI?
sub get_count {
my $sth = $dbh->prepare("SELECT COUNT(*) FROM table WHERE...");
$sth->execute(@params);
my $($count) = $sth->fetchrow_array;
$sth->finish;
return $count;
}
Ceci est plus court, mais j'ai toujours deux instructions.
sub get_count_2 {
my $ar = $dbh->selectall_arrayref("SELECT ...", undef, @params)
return $ar->[0][0];
}
C'est un peu subjectif. Certains diront que votre exemple plus long est plus lisible. Jouons-nous au Perl Golf? – pavium
Est-ce que le nombre de déclarations importe? –
J'ai beaucoup d'appels de ce type dans mon code, donc j'ai un sous qui obtient l'instruction SQL et le @params et renvoie le nombre. Si j'avais une instruction intégrée pour DBI, je n'ai pas besoin du sous-marin supplémentaire. Je pense que c'est un cas d'usage courant et je me demandais s'il y avait une telle déclaration et si je l'avais manquée ou s'il n'y avait pas une telle déclaration dans DBI. – szabgab