Първият аргумент, предаден на pgsql функцията json_populate_recordset
трябва да е тип ред. Ако искате да използвате json масива, за да попълните съществуващата таблица anoop
можете просто да подадете таблицата anoop
като тип ред по следния начин:
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"}]');
Тук null
е стойността по подразбиране за вмъкване в колоните на таблицата, които не са зададени в предадения json.
Ако нямате съществуваща таблица, трябва да създадете тип ред
да съхранява вашите json данни (т.е. имена на колони и техните типове) и да ги предава като първи параметър, като този anoop_type
:
create TYPE anoop_type AS (id int, name varchar(100));
select * from json_populate_recordset(null :: anoop_type,
'[...]') --same as above