Hallo!Kurz gefragt: Wie kann man
a) mehrere Inserts zusammen fassen?
b) den unten stehenden Code verbessern?
Ich habe einen Hash bestehend aus mehreren Verzeichnissen als Schlüssel und deren bereits selektierten Dateien.
Jetzt möchte ich gerne jede Datei in die Datenbank übernehmen.
(daraus folgt: den Hash den mir eine andere Funktion zurück liefert wird hier nicht benötigt)
Im Moment sieht das so aus:
sub insertFiles2Db {
my $dirsnContents = shift;
my $dbh = shift;
foreach my $aktDir (@{$dirsnContents}) { foreach my $aktBild ( @{$dirsnContents->{$aktDir}} ) {
$aktBild = $aktDir . $aktBild;
my $sql = "INSERT INTO objektbilder SET objektID=1, ";
$sql .= "BildSrc=?";
$aktBild = $dbh->quote($aktBild);
my $sth = $dbh->prepare($sql);
my $rv = $sth->execute(($aktBild));
#print $rv;
} # /foreach aktBild
} # /foreach aktDir
} # /insertFiles2Db
Wie kann ich das jetzt mit einem geringeren Aufwand machen?
So muss ich bei 100 Dateien 100 Datenkbank-Operationen ausführen.
Das ödet nicht nur mich sondern auch die Datenbank an.
Außerdem habe ich da einen Schleife der Komplexität 2, das möchte ich gerne reduzieren (begebe mich gleich mal dran).
mfg pktm
Datum: 07.12.2004-20:29
