- Wywołaj funkcję Set Returning w klauzuli FROM.
- Zawsze określaj swoje typy.
Nazywa się to Ustaw funkcję zwracającą , ale chcesz określić typ złożony
Jest to całkowicie ważne,
RETURNS SETOF RECORD $$
Jednak może być konieczne wywołanie go za pomocą,
SELECT email, user_id
FROM
app.lookup_email(4,730035455897450,6,'u')
AS t(email text, user_id integer)
Kontekst, w którym nie można wywołać niewpisanego SRF, to taki, który nie ma definicji tabeli. Ta składnia może być nieprzyjemna, więc po prostu łatwiej jest zmienić RETURNS SETOF RECORD
do
RETURNS TABLE(email text, user_id integer) AS $$
i użyj funkcji bez listy definicji kolumn
SELECT email, user_id
FROM app.lookup_email(4,730035455897450,6,'u')
Więcej informacji znajdziesz w dokumentacji