【发布时间】:2022-01-01 05:49:51
【问题描述】:
我在函数中收到了一个 jsonb,我需要在不同的行中插入
{
"client":"12345678",
"documents": ["0ca15b8f-c7b3-4a36-931b-e3faf6eaa571",
"597c18e5-10d4-4656-a256-108e9674c3aa",
"68056dfc-9799-4baf-b26b-4336586a5a2e"]
}
目前我正在测试:
CREATE OR REPLACE FUNCTION tribal.fn_add_documents(spec jsonb)
RETURNS json
LANGUAGE plpgsql
AS $function$
begin
INSERT INTO documents (id_document)
SELECT * FROM json_array_elements(spec->'documents'::json);
return ('{"code" : "200"}'::jsonb);
END;
$function$;
我希望有这样的结果
| client | id_document |
|---|---|
| 12345678 | 0ca15b8f-c7b3-4a36-931b-e3faf6eaa571 |
| 12345678 | 597c18e5-10d4-4656-a256-108e9674c3aa |
| 12345678 | 68056dfc-9799-4baf-b26b-4336586a5a2e |
id_document 是一个 UUID 类型
【问题讨论】:
标签: sql postgresql function plpgsql