Pierwszy argument przekazany do funkcji pgsql json_populate_recordset
powinien być typem wiersza. Jeśli chcesz użyć tablicy json do wypełnienia istniejącej tabeli anoop
możesz po prostu przekazać tabelę anoop
jako typ wiersza w ten sposób:
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"}]');
Tutaj null
jest domyślną wartością do wstawiania do kolumn tabeli, które nie są ustawione w przekazanym json.
Jeśli nie masz istniejącej tabeli, musisz utworzyć typ wiersza
do przechowywania danych json (tj. nazw kolumn i ich typów) i przekazywania ich jako pierwszego parametru, na przykład anoop_type
:
create TYPE anoop_type AS (id int, name varchar(100));
select * from json_populate_recordset(null :: anoop_type,
'[...]') --same as above