Det første argument sendt til pgsql-funktionen json_populate_recordset
skal være en rækketype. Hvis du vil bruge json-arrayet til at udfylde den eksisterende tabel anoop
du kan blot sende tabellen anoop
som rækketypen som denne:
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"}]');
Her er null
er standardværdien, der skal indsættes i tabelkolonner, der ikke er angivet i json-passed.
Hvis du ikke har en eksisterende tabel, skal du oprette en rækketype
at holde dine json-data (dvs. kolonnenavne og deres typer) og sende dem som den første parameter, som denne anoop_type
:
create TYPE anoop_type AS (id int, name varchar(100));
select * from json_populate_recordset(null :: anoop_type,
'[...]') --same as above