Ho una query che risiede in più metodi ciascuno (query) di cui può contenere più parametri. Sto cercando di ridurre la dimensione del file e il numero di righe per renderlo più gestibile. Sotto è un tale evento:Come posso rendere più efficienti le query di database multiple in Perl?
$sql_update = qq { UPDATE database.table
SET column = 'UPDATE!'
WHERE id = ?
};
$sth_update = $dbh->prepare($sql_update);
if ($dbh->err) {
my $error = "Could not prepare statement. Error: ". $dbh->errstr ." Exiting at line " . __LINE__;
print "$error\n";
die;
}
$sth_rnupdate->execute($parameter);
if ($dbh->err) {
my $error = "Could not execute statement. Error: ". $dbh->errstr ." Exiting at line " . __LINE__;
print "$error\n";
die;
}
Questo è solo un esempio, tuttavia, ci sono vari altri esempi selezionati che contengono solo un parametro da passare, ma c'è anche alcuni con due o più parametri. Immagino che mi stia solo chiedendo sarebbe possibile incapsulare tutto questo in una funzione/metodo, passare una serie di parametri, in che modo i parametri saranno popolati nella funzione execute()?
Se ciò fosse possibile, potrei scrivere un metodo che basta semplicemente passare nella query SQL e nei parametri e ottenere un riferimento ai record recuperati. Questo suona sicuro?
Questo sembra molto utile. Il modulo Class :: DBI ha perl core? (per unix) –
No. Dovrai installarlo. Digitando "install Class :: DBI" e rispondendo con una "y" a tutte le dipendenze all'interno di una shell CPAN, verrà installato per te. –