私は、複数のメソッドのそれぞれ(クエリ)に複数のパラメータを含むことができるクエリを持っています。私はそれをより保守可能にするためにファイルサイズと行数を減らそうとしています。以下、このような発生である: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;
}
これは単なる一例であり、但し、で渡されるだけつのパラメータを含む様々な他の選択例がある、しかし、二つ以上のパラメータを使用して、いくつかのもあります。私は、関数/メソッドにすべてをカプセル化して、パラメータの配列を渡し、パラメータをexecute()関数にどのように入れるのだろうと思っていますか?
可能であれば、SQLクエリとパラメータを渡すだけで、フェッチされたレコードへの参照を取得するという方法を書くことができました。これはまったく安全ですか?
これは非常に有益です。 Class :: DBIモジュールにはコアperlが付属していますか? (unix用) –
いいえ、あなたはそれをインストールする必要があります。 "install Class :: DBI"と入力し、CPANシェル内のすべての依存関係に「y」を付けて応答すると、それがインストールされます。 –