|
projekte.pl |
foreach my $key ($teilnehmer->keys) { my %ang = $ang->fetch($key->{'persid'}); my %projekt = $projekte->fetch($key->{'projektid'}); printf "%-32s %s\n", $projekt{'name'}, $ang{'name'}, "\n"; } |
select Angestellte.name, Projekte.name from Angestellte, Projekte, ProjektTeilnehmer where Angestellte.persid = ProjektTeilnehmer.persid and ProjektTeilnehmer.projektid = Projekte.projektid; |
Das Beispiel auf Basis von TBI entspricht dem
zweifachen Join der SQL-Anweisung.
| |
Die Methode keys liefert analog zu dem keys-Operator
von Perl alle Schlüssel einer Tabelle. Besteht der
Primärschlüssel aus mehr als einem Feld, so wird ein Zeiger
auf ein assoziatives Array zurückgeliefert. Ansonsten
eben der skalare Wert des einzigen Feldes des primären
Schlüssels.
| |
fetch liefert für den (durch einen konkreten
Primärschlüssel) selektierten Datensatz alle Felder
in Form eines assoziativen Arrays.
| |
Prinzipiell wird durch TBI in Verbindung mit relationalen
Datenbanken der Rechenaufwand höher, da wesentlich mehr
SQL-Anweisungen ausgeführt werden müssen. Gewonnen wird
jedoch eine sehr kompakte (und von DBI & SQL unabhängige)
Schreibweise.
|
Copyright © 1996, 1998, 1999, 2000 Andreas Borchert, in HTML konvertiert am 07.02.2000 |