我目前正在Postgres中处理一个函数。我有这个函数,但我需要在json_build_array()
函数中添加一个循环来添加数组中的多个内容。这是我目前拥有的:
select jsonb_build_object('start', jsonb_build_object(
'inv', json_build_array(
for i in select * from generate_series(1,5) loop
jsonb_build_object(...
end loop
字符串
但我得到一个错误说:
在“for”处或附近出现错误。
1条答案
按热度按时间t30tvxxf1#
FOR
循环是不允许在SQL语句中使用的PL/pgSQL语法元素(即使它嵌套在PL/pgSQL块中)。你的明显意图可以这样实现:
字符串
fiddle的
将
jsonb_build_object('foo', 1) AS some_name
替换为您需要的实际对象和名称。当然,你必须在PL/pgSQL块中赋值或返回结果。请参阅:
相关信息: