El primer argumento pasado a la función pgsql json_populate_recordset
debe ser un tipo de fila. Si desea utilizar la matriz json para completar la tabla existente anoop
simplemente puede pasar la tabla anoop
como el tipo de fila como este:
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"}]');
Aquí el null
es el valor predeterminado para insertar en las columnas de la tabla no establecido en el json pasado.
Si no tiene una tabla existente, debe crear un tipo de fila
para contener sus datos json (es decir, nombres de columnas y sus tipos) y pasarlos como el primer parámetro, así anoop_type
:
create TYPE anoop_type AS (id int, name varchar(100));
select * from json_populate_recordset(null :: anoop_type,
'[...]') --same as above