sql >> Databasteknik >  >> RDS >> PostgreSQL

hur man tolkar json med json_populate_recordset i postgres

Det första argumentet skickades till pgsql-funktionen json_populate_recordset ska vara en radtyp. Om du vill använda json-arrayen för att fylla i den befintliga tabellen anoop du kan helt enkelt skicka tabellen anoop som radtyp så här:

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"}]');

Här är null är standardvärdet för att infoga i tabellkolumner som inte är inställda i json passerade.

Om du inte har en befintlig tabell måste du skapa en radtyp att hålla din json-data (dvs. kolumnnamn och deras typer) och skicka den som den första parametern, så här anoop_type :

create TYPE anoop_type AS (id int, name varchar(100));
select * from json_populate_recordset(null :: anoop_type, 
        '[...]') --same as above


  1. MYSQL skiljer sig i utdata från skript

  2. SQL-problem med utcheckningstider

  3. konvertering av en varchar-datatyp till en datetime-datatyp resulterade i ett värde utanför intervallet

  4. Oracle OSM - XQuery går inte i loop