SELECT get_progressrecord(ID)
sẽ trả về một cột duy nhất của loại record
.
SELECT * FROM get_progressrecord(ID)
sẽ trả về nhiều cột (khớp với out
của bạn params).
Ngoài ra, thực tế là các trường đầu ra của bạn không có tên có thể làm cho hàm của bạn hơi khó hoạt động. Ngoài ra còn có một cú pháp thay thế cho RETURNS SETOF RECORD
mà tôi thấy dễ dàng hơn:
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
...