Temat: [SQL] Funkcje
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.
CREATE TYPE type_profile (profile_id integer, profile_name text) itd.a później tworzę sobie do tego funkcję, np.
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:
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ł