El siguiente código parece ser demasiado para obtener un único valor de recuento. ¿Existe una forma mejor y recomendada de obtener un único valor de COUNT con DBI simple?¿Cómo puedo obtener un valor de recuento único de una base de datos con 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;
}
Esto es más corto, pero todavía tengo dos declaraciones.
sub get_count_2 {
my $ar = $dbh->selectall_arrayref("SELECT ...", undef, @params)
return $ar->[0][0];
}
Esto es un poco subjetivo. Algunos dirían que su ejemplo más largo es más legible. ¿Estamos jugando Perl Golf? – pavium
¿Importa cuántas declaraciones tiene? –
Tengo muchas de esas llamadas en mi código, así que tengo un sub que obtiene la instrucción SQL y los parámetros y devuelve el recuento. Si tuviera una declaración incorporada para eso en DBI, entonces no necesito el submarino adicional. Creo que es un caso de uso común y me preguntaba si hubo tal afirmación y me la perdí o si no hay tal declaración en DBI. – szabgab