- Zavolejte svou funkci Set Returning Function v klauzuli FROM.
- Vždy specifikujte své typy.
Říká se tomu Nastavit funkci návratu , ale chcete určit složený typ
To je zcela platné,
RETURNS SETOF RECORD $$
Možná jej však budete muset zavolat pomocí,
SELECT email, user_id
FROM
app.lookup_email(4,730035455897450,6,'u')
AS t(email text, user_id integer)
Kontext, ve kterém nemůžete volat netypovaný SRF, je ten, který nemá definici tabulky. Tato syntaxe může být ošklivá, takže je jednodušší změnit RETURNS SETOF RECORD
do
RETURNS TABLE(email text, user_id integer) AS $$
a použijte funkci bez seznamu definic sloupců
SELECT email, user_id
FROM app.lookup_email(4,730035455897450,6,'u')
Další informace naleznete v dokumentech