Khi bạn đặt các biểu thức trong dấu ngoặc đơn, Postgres diễn giải kết quả dưới dạng một bộ dữ liệu - về cơ bản là một cấu trúc hoặc bản ghi.
Vì vậy, tuyên bố của bạn:
SELECT (
nextval('"KPI_MEASURE_ID_seq"'::regclass),
now(),
kpi_project.id,
kpi_measure.kpi_frequency_id,
kpi_metric.id ,
kpi_measure.branch ,
sum(kpi_measure.value)
)
đang trả về một giá trị. Giá trị đó là một bản ghi.
Cơ sở dữ liệu không hỗ trợ bộ giá trị sẽ trả về lỗi.
Giải pháp là bỏ dấu ngoặc đơn.