První argument předaný funkci pgsql json_populate_recordset
by měl být typ řádku. Pokud chcete použít pole json k naplnění stávající tabulky anoop
můžete jednoduše předat tabulku anoop
jako typ řádku takto:
insert into anoop
select * from json_populate_recordset(null::anoop,
'[{"id":67272,"name":"EE_Quick_Changes_J_UTP.xlsx"},
{"id":67273,"name":"16167.txt"},
{"id":67274,"name":"EE_12_09_2013_Bcum_Searchall.png"}]');
Zde je null
je výchozí hodnota pro vložení do sloupců tabulky, která není nastavena v předaném json.
Pokud nemáte existující tabulku, musíte vytvořit typ řádku
uchovávat vaše data json (tj. názvy sloupců a jejich typy) a předat je jako první parametr, jako je tento anoop_type
:
create TYPE anoop_type AS (id int, name varchar(100));
select * from json_populate_recordset(null :: anoop_type,
'[...]') --same as above