SELECT get_progressrecord(ID)
ще върне една колона от тип record
.
SELECT * FROM get_progressrecord(ID)
ще върне множество колони (съвпадащи с вашия out
параметри).
Като настрана, фактът, че вашите изходни полета нямат имена, може да направи вашата функция малко трудна за работа. Има и алтернативен синтаксис за RETURNS SETOF RECORD
което намирам за по-лесно:
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
...