- Извикайте функцията за връщане на набор в клауза FROM.
- Винаги посочвайте типовете си.
Нарича се функция за връщане на набор , но искате да посочите съставния тип
Това е напълно валидно,
RETURNS SETOF RECORD $$
Може обаче да се наложи да го извикате с,
SELECT email, user_id
FROM
app.lookup_email(4,730035455897450,6,'u')
AS t(email text, user_id integer)
Контекстът, в който не можете да извикате нетипизиран SRF, е този, който няма дефиниция на таблица. Този синтаксис може да стане неприятен, така че е по-лесно да промените RETURNS SETOF RECORD
до
RETURNS TABLE(email text, user_id integer) AS $$
и използвайте функцията без списъка с дефиниции на колони
SELECT email, user_id
FROM app.lookup_email(4,730035455897450,6,'u')
Намерете повече информация в документите