SELECT get_progressrecord(ID)
vrátí jeden sloupec typu record
.
SELECT * FROM get_progressrecord(ID)
vrátí více sloupců (odpovídajících vašemu out
parametry).
Kromě toho skutečnost, že vaše výstupní pole nemají žádná jména, může trochu ztížit práci s vaší funkcí. Existuje také alternativní syntaxe pro RETURNS SETOF RECORD
což mi připadá jednodušší:
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
...