Witam,

Szukam rozwiązania, szperam w Manualu Postgresa, ale jakoś mi nie wychodzi. Próbuję stworzyć funkcję, pobierającą rekordy z bazy danych - to nie jest problemem. Problemem jest stworzenie "type". Normalnie definiuje pola, które ma zwracać, czyli np.
Kod
CREATE TYPE type_profile (profile_id integer, profile_name text) itd.

a później tworzę sobie do tego funkcję, np.
Kod
CREATE OR REPLACE function f_profile(profile_number integer) RETURNS SETOF type_profile AS $$
DECLARE
    profile_number alias FOR $1;
    result type_profile;
BEGIN    
    FOR result IN
    SELECT * FROM tabela WHERE id = profile_number itd.
    LOOP
        RETURN NEXT result;
    END LOOP;
    RETURN;
END;
$$ LANGUAGE 'plpgsql';


Teraz jednak nie wiem, ile pól (i jakie ma zwracać "type"), próbowałem coś w stylu:
Kod
CRETATE TYPE type_profile(*)

Ale to oczywiście nie działa. Nie bardzo wiem, jak się do tego zabrać. Chcę zrobić funkcję, zwracającą mi rekordy, na podstawie parametru, ale chyba poległem...

Any ideas? :-)

Pozdrawiam,
Rafał