Das erste Argument, das an die pgsql-Funktion json_populate_recordset
übergeben wird sollte ein Zeilentyp sein. Wenn Sie das json-Array verwenden möchten, um die vorhandene Tabelle anoop
zu füllen Sie können die Tabelle einfach anoop
übergeben als Zeilentyp wie folgt:
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"}]');
Hier der null
ist der Standardwert, der in Tabellenspalten eingefügt wird, die nicht im übergebenen json festgelegt sind.
Wenn Sie keine vorhandene Tabelle haben, müssen Sie einen Zeilentyp erstellen
um Ihre JSON-Daten (dh Spaltennamen und ihre Typen) zu speichern und sie als ersten Parameter zu übergeben, wie diesen anoop_type
:
create TYPE anoop_type AS (id int, name varchar(100));
select * from json_populate_recordset(null :: anoop_type,
'[...]') --same as above