Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z pobraniem ścieżki w drzewie kategorii, Problem z rekurencyjnym wywołaniem funkcji zwracającej rekordy
phpion
post
Post #1





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Witam,
mam struktruę tabeli:
p_category: id, parent_id, name
czyli w zasadzie standardzik. Chciałbym napisać funkcję, która zwróci mi ścieżkę od danej kategorii do korzenia. Mam coś takiego:
  1. CREATE OR REPLACE FUNCTION f_get_category_path(category_id integer, shop_id integer)
  2. RETURNS p_category AS $BODY$DECLARE
  3. r p_category%ROWTYPE;
  4. BEGIN SELECT * INTO r FROM p_category WHERE id=$1;
  5.  
  6. IF (r.parent_id > 0) THEN
  7. -- SELECT * FROM f_get_category_path(r.parent_id, $2);
  8. END IF;
  9.  
  10. RETURN r;
  11. END;$BODY$
  12. LANGUAGE 'plpgsql' VOLATILE
  13. COST 100;

Mam problem z rekurencyjnym wywołaniem tej funkcji. Jeśli odkomentuję linijkę w warunku otrzymuję:
Kod
ERROR:  query has no destination for result data
HINT:  If you want to discard the results of a SELECT, use PERFORM instead.
CONTEXT:  PL/pgSQL function "f_get_category_path" line 7 at SQL statement
SQL statement "SELECT * FROM f_get_category_path( $1 ,  $2 )"
PL/pgSQL function "f_get_category_path" line 7 at SQL statement

Jak to poprawnie zapisać?

pion

Ten post edytował phpion 24.07.2008, 16:31:28
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 22.08.2025 - 19:02