Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wykonanie SELECT w funkcji.
MikroUser
post
Post #1





Grupa: Zarejestrowani
Postów: 55
Pomógł: 1
Dołączył: 5.09.2006

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
bendi
post
Post #2





Grupa: Zarejestrowani
Postów: 401
Pomógł: 5
Dołączył: 14.09.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
MikroUser
post
Post #3





Grupa: Zarejestrowani
Postów: 55
Pomógł: 1
Dołączył: 5.09.2006

Ostrzeżenie: (0%)
-----


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

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: 23.08.2025 - 23:34