Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wykonanie SELECT w funkcji.
Forum PHP.pl > Forum > Bazy danych > PostgreSQL
MikroUser
Witam.

  1. 1) CREATE OR REPLACE FUNCTION test("varchar")
  2. RETURNS int4 AS $BODY$
  3. DECLARE
  4. pID ALIAS FOR $1;
  5. tempRow foo%ROWTYPE;
  6. BEGIN FOR tempRow IN SELECT b.*
  7. FROM foo b
  8. WHERE b.id IN (pID)
  9. LOOP
  10. RAISE NOTICE ' ID = %', tempRow.id;
  11. END loop;
  12. RETURN 1;
  13. end;$BODY$
  14.  
  15. 2) SELECT test('1,2,5');


Wyłowanie funkcji nie zwraca wyniku selecta. Funkcja pobiera zmienną typu varchar, i robi selekta gdzie porównuje id tabelki do tego parametru. Jak to zrobić poprawnie? Może jest inny sposób?

Dziękuję za odpowiedzi.
bendi
w plpgsql możesz zastosować składnię SELECT ... INTO żeby przechowywać wyniki seletcta, lub napisać funkcję w SQL'u a wtedy będzie zwracana wartość ostatniego selecta.
MikroUser
Cytat
w plpgsql możesz zastosować składnię SELECT ... INTO żeby przechowywać wyniki seletcta


Przepraszam, ale nie zrozumiałem co masz na myśli.
Mam utworzyć nową tablice stosując selecta który nie działa?

Cytat
lub napisać funkcję w SQL'u a wtedy będzie zwracana wartość ostatniego selecta.


A ta funkcja nie jest napisana w SQL'u?


Dzięki za odpowiedź.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.