¿Cómo devolver el resultado de un SELECT dentro de una función en PostgreSQL?
Tengo esta función en PostgreSQL, pero no sé cómo devolver el resultado de la consulta:
CREATE OR REPLACE FUNCTION wordFrequency(maxTokens INTEGER)
RETURNS SETOF RECORD AS
$
BEGIN
SELECT text, count(*), 100 / maxTokens * count(*)
FROM (
SELECT text
FROM token
WHERE chartype = 'ALPHABETIC'
LIMIT maxTokens
) as tokens
GROUP BY text
ORDER BY count DESC
END
$
LANGUAGE plpgsql;
Pero no sé cómo devolver el resultado de la consulta dentro de la función PostgreSQL.
Encontré que el tipo de retorno debería serSETOF RECORD
, ¿derecho? Pero el comando de retorno no es correcto.
¿Cuál es la forma correcta de hacer esto?