SELECT get_progressrecord(ID)
renverra une seule colonne de type record
.
SELECT * FROM get_progressrecord(ID)
renverra plusieurs colonnes (correspondant à votre out
paramètres).
Soit dit en passant, le fait que vos champs de sortie n'aient pas de nom peut rendre votre fonction un peu difficile à utiliser. Il existe également une syntaxe alternative pour RETURNS SETOF RECORD
ce que je trouve plus simple :
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
...