SELECT get_progressrecord(ID)
retornará uma única coluna do tipo record
. SELECT * FROM get_progressrecord(ID)
retornará várias colunas (correspondendo ao seu out
parâmetros). Como um aparte, o fato de seus campos de saída não terem nomes pode tornar sua função um pouco difícil de trabalhar. Há também uma sintaxe alternativa para
RETURNS SETOF RECORD
que eu acho mais fácil:CREATE OR REPLACE FUNCTION get_progressrecord(int)
RETURNS TABLE(
height decimal(5,2),
weight decimal(5,2),
bmi decimal(4,2),
healthStatus text,
age int,
changePercentage decimal(4,2)
) AS
...