Я делаю простой json_to_recordset
запрос, который, насколько я могу судить, следует шаблону в документах . Но я получаю ошибку, которую не понимаю. (Я подведу итоги своего исследования после примера кода.)
select my_schema.my_func(2, 2366800)
=> my_func
json
----------------------------------------------------
[{"col_a":"...", "col_b":"...", "col_c":"..."}, ...]
select *
from json_to_recordset(my_schema.my_func(2, 2366800))
as results (col_a TEXT,
col_b TEXT,
col_c NUMERIC(10,2))
=> ERROR: set-valued function called in context that cannot accept a set
В дополнение к документам я применил свой запрос к другим примерам json_to_recordset
. ( 1 , 2 , 3 ) Насколько я могу судить, мой запрос должен работать.
Я изучил ошибку set-valued function
. ( 1 , 2 , 3 ; даже 4 , который говорит: «Когда функция возвращает что-то в SETOF, вам нужно обработать это как если бы это была таблица. ") К сожалению, я не нашел объяснения, почему эта ошибка происходит именно в этом конкретном запросе.