Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL] Funkcje
Shavei
post 15.02.2012, 11:56:26
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 4.07.2007
Skąd: Poznań

Ostrzeżenie: (20%)
X----


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ł
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.03.2024 - 00:06