निम्नलिखित कोड एक भी गिनती मूल्य प्राप्त करने के लिए, बस बहुत ज्यादा हो रहा है। सादा डीबीआई का उपयोग कर एक एकल COUNT मूल्य लाने के लिए एक बेहतर, अनुशंसित तरीका है?मैं डीबीआई के साथ डेटाबेस से एक सिंगल गिनती मूल्य कैसे प्राप्त कर सकता हूं?
sub get_count {
my $sth = $dbh->prepare("SELECT COUNT(*) FROM table WHERE...");
$sth->execute(@params);
my $($count) = $sth->fetchrow_array;
$sth->finish;
return $count;
}
यह कम है, लेकिन मैं अभी भी दो बयान है।
sub get_count_2 {
my $ar = $dbh->selectall_arrayref("SELECT ...", undef, @params)
return $ar->[0][0];
}
यह एक छोटे से व्यक्तिपरक है। कुछ लोग कहेंगे कि आपका लंबा उदाहरण अधिक पठनीय है। क्या हम पर्ल गोल्फ खेल रहे हैं? – pavium
क्या इससे कोई फर्क पड़ता है कि आपके पास कितने बयान हैं? –
मैं अपने कोड में कई तरह के कॉल है तो मैं एक उप कि SQL बयान और @params हो जाता है और गिनती देता है। अगर मेरे पास डीबीआई में अंतर्निहित बयान था तो मुझे अतिरिक्त उप की आवश्यकता नहीं है। मुझे लगता है कि यह एक आम उपयोग मामला है और मैं सोच रहा था कि ऐसा कोई बयान था या मुझे याद आया या यदि डीबीआई में ऐसा कोई बयान नहीं है। – szabgab