Thread Perl , SQL und Datenbank
(13 answers)
Opened by joelsok at 2010-07-15 16:22 Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 # Lese alle Zeilen als Hashrefenz aus der Abfrage in DB A while(my $row=$sth_a->fetchrow_hashref) { # ermittle alle Schlüssel des Hashes (das sind die Spaltennamen) my @names=keys(%$row); # füge alle Spaltennamen Komma separiert zusammen my $keys=join(', ',@names); # erzeuge genauso viele Komma separierte "?" wie es Spaltennamen gibt my $values=join(', ',map{'?'}@names); # Erzeuge ein Statement das Alle Werte Aus der Abfrage in BD A in die Tabelle der DB B einfügt. # Beispiel: "INSERT INTO Adresse (ort, strasse, ausnummer) VALUES (?, ?, ?)" # und führe das Statement mit den Werten aus dem Hash aus. $dbh_b->do("INSERT INTO Adresse ($keys) VALUES ($values)",undef,@$row{@names}); } Das wird natürliche komplizierter wenn die Tabelle in der DB B schon Werte enthält die ein "UPDATE" aus der DB A bedürfen. |