以下のコードは単なるカウント値を得るには多すぎるようです。 プレーンDBIを使用して1つのCOUNT値をフェッチする方法が推奨されていますか?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;
}
これは短いですが、まだ2つのステートメントがあります。
sub get_count_2 {
my $ar = $dbh->selectall_arrayref("SELECT ...", undef, @params)
return $ar->[0][0];
}
これは少し主観的です。あなたの長い例はより読みやすいと言う人もいます。私たちはPerlゴルフをしていますか? – pavium
あなたの声明はいくつですか? –
私は自分のコードで多くのそのような呼び出しを持っているので、私はSQL文と@paramsを取得し、カウントを返すサブを持っています。 DBIで組み込みの文があれば、余分なサブは必要ありません。私はそれが一般的な使用事例だと思うし、そのような声明があったかどうか、私はそれを逃したか、DBIにそのような声明がないかどうか疑問に思っていた。 – szabgab