- Appelez votre Set Returning Function dans une clause FROM.
- Spécifiez toujours vos types.
C'est ce qu'on appelle une fonction de retour d'ensemble , mais vous souhaitez spécifier le type composite
C'est tout à fait valable,
RETURNS SETOF RECORD $$
Cependant, vous devrez peut-être l'appeler avec,
SELECT email, user_id
FROM
app.lookup_email(4,730035455897450,6,'u')
AS t(email text, user_id integer)
Le contexte dans lequel vous ne pouvez pas appeler une SRF non typée est celui qui n'a pas de définition de table. Cette syntaxe peut devenir désagréable, il est donc plus simple de modifier RETURNS SETOF RECORD
à
RETURNS TABLE(email text, user_id integer) AS $$
et utiliser la fonction sans la liste de définition de colonne
SELECT email, user_id
FROM app.lookup_email(4,730035455897450,6,'u')
Trouvez plus d'informations dans la documentation