Datenbankentwicklung mit PostgreSQL 9

7.3.2 Beispiel 88: Mehrere Zeilen aus einer Tabelle lesen

  1. Die Datenbank Direktbestellung01 ist geöffnet.

  2. Dieses Beispiel zeigt, wie Sie über eine bestimmte Kundennummer auf die Tabelle Bestellung zugreifen können, um alle Zeilen mit Kundenbestellungen als Ergebnis zu bekommen.

  3. Erstellen Sie eine Funktion mit dem Namen Lesen_Kundenbestellungen und definieren Sie einen Eingabeparameter vom Typ Integer für Kundennummer und einen Ausgabeparameter vom Typ Tabelle für die Rückgabe einer Menge von Kundenbestellungen.

    CREATE FUNCTION Lesen_Kundenbestellungen(Integer) RETURNS 
                    SETOF Bestellung AS'
    SELECT * FROM   Bestellung
    WHERE  KundenNr = $1;
    'LANGUAGE sql;

  4. Betrachten Sie die kodierte Funktion: Die Definition der Ausgabeparameter erfolgt durch “RETURNS SETOF Bestellung. Somit kann eine Menge von Zeilen (falls vorhanden) aus der Tabelle Bestellung zurückgegeben werden.

  5. Es wird über eine Kundennummer auf die Tabelle Bestellung zugegriffen. Sind mehrere Kundennummern in der Tabelle vorhanden, welche mit dem Suchargument übereinstimmen, dann werden alle passenden Bestellungen genommen und ausgegeben. Die Kundennummer, die innerhalb der Tabelle Bestellung ein Fremdschlüssel ist, kann mehrmals vorkommen.

  6. Rufen Sie nun mit einem SELECT die Funktion auf und übergeben Sie ihr die Kundennummer 108. Achten Sie darauf, dass der Funktionsname wiederum innerhalb der FROM-Klausel steht.

    SELECT * FROM Lesen_Kundenbestellungen(108);

  7. Führen Sie die Funktion aus. Überprüfen Sie das Ergebnis. Die Ergebnisliste enthält für diesen Kunden (z. B. 108) mehrere (3) Bestellungen.

    Abb 124 Ergebnis

Kommentare (1)

Mikfic am 04.03.2016 09:36:56

Danke für den Tipp, hat mir sehr geholfen
Lg Ivi :)

Ihr Kommentar

Name