Generierung von SQL-Anweisungen

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

TBD/DBI.pm
sub fetch {
   my ($self, $key) = @_;

   my @keys = $self->order_keys($key);
   $self->{select_byKey}->execute(@keys);
   my $record = $self->{select_byKey}->fetch;
   return undef unless defined $record;

   my %fields = (); my $index = 0;
   foreach my $fieldname (@{$self->{fields}}) {
      $fields{$fieldname} = $record->[$index++];
   }
   return %fields;
}

*Soweit möglich und sinnvoll, wurden von TBD::DBI::initialize2 alle benötigten SQL-Anweisungen bereits mit DBI::prepare vorbereitet, so daß das wiederholte Analysieren von immer gleichen Anweisungen vermieden wird.
 
*Die private Komponente select_byKey enthält eine SELECT-Anweisung, bei der alle Werte des Primärschlüssels vorgegeben werden (über Platzhalter), so daß auf diese Weise genau ein gewünschter Datensatz selektiert werden kann.
 
*order_keys ist eine interne Methode, die einen Schlüssel in eine geordnete Liste von Werten verwandelt, die bei execute für die Platzhalter übergeben werden kann.
 

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1996 - 2003 Andreas Borchert, in HTML konvertiert am 01.10.2003