Ergebnis 1 bis 5 von 5

Thema: funktion mit Zeile als Rückgabewert

  1. #1
    Nuadu ist offline Benutzer
    Registriert seit
    09.10.2008
    Ort
    Essen
    Beiträge
    45

    Standard funktion mit Zeile als Rückgabewert

    Hallo zusammen,

    ich hätte mal eine Frage an das Forum.
    In meiner Datenbank muss ich immer wieder die gleichen Abfragen stellen.
    Aus diesem Grund wollte ich mir das Leben vereinfachen und die SELECT Abfragen in eine Funktion schreiben, die ich dann nur noch ausführen muss.

    Meine Funktion:

    Code:
    CREATE OR REPLACE FUNCTION public.getperson
      RETURNS SETOF public.person AS'
        
        SELECT * FROM public.person;
        
      'LANGUAGE 'SQL' VOLATILE
    Die Funktion kann auch ausgeführt werden und liefert die gewünschten Ergebnisse.
    Mein Problem ist aber, das die Ergebnisse in eine Spalte geschrieben werden und durch Kommas getrennt sind.

    Kann ich die Ergebnisse in einzelnen Spalten ausgeben?

    Das Ergebnis sieht zur Zeit folgendermaßen aus:

    getperson
    --------------
    (Max, Mustermann)
    (Max1,Mustermann1)




    Ich möchte aber folgende Aufteilung:

    vorname | nachname
    ----------------------
    Max | Mustermann
    Max1 | Mustermann1


    Die Tabelle hat die beiden Spalten vorname und nachname

    Danke für die Hilfe

  2. #2
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.020

    Standard

    Lass mich raten, du rufst das ungefähr so ab:
    Code:
    SELECT meine_funktion()
    Probier mal:
    Code:
    SELECT * FROM meine_funktion()

    Oder schau ab Seite 340 in dem Buch in meiner Signatur ;-)
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  3. #3
    Nuadu ist offline Benutzer
    Registriert seit
    09.10.2008
    Ort
    Essen
    Beiträge
    45

    Standard

    Hallo,

    vielen Dank für die schnelle Hilfe.

    Mit
    Code:
    SELECT * FROM meine_funktion()
    funktioniert es.

  4. #4
    Nuadu ist offline Benutzer
    Registriert seit
    09.10.2008
    Ort
    Essen
    Beiträge
    45

    Standard

    Hallo,

    erstmal vielen Dank für die schnelle Antwort.
    Bin aber nun auf mein nächstes Problem gestoßen.

    Ich möchte eine Funktion haben, die mir einige Spalten aus zwei
    Tabellen wiedergeben kann. Die Spalten werden über einen Join miteinander verknüpft.

    Wie muss hier der Rückgabewert aussehen?

    Ein Link oder ein Stichwort würde mir genügen!

    Danke

  5. #5
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Nähe Dresden
    Beiträge
    5.337

    Standard

    Zitat Zitat von Nuadu Beitrag anzeigen
    Hallo,

    erstmal vielen Dank für die schnelle Antwort.
    Bin aber nun auf mein nächstes Problem gestoßen.

    Ich möchte eine Funktion haben, die mir einige Spalten aus zwei
    Tabellen wiedergeben kann. Die Spalten werden über einen Join miteinander verknüpft.

    Wie muss hier der Rückgabewert aussehen?

    Ein Link oder ein Stichwort würde mir genügen!

    Danke
    IN und OUT - Parameter.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum