sql >> Database >  >> RDS >> PostgreSQL

hoe json te parseren met json_populate_recordset in postgres

Het eerste argument doorgegeven aan pgsql-functie json_populate_recordset moet een rijtype zijn. Als u de json-array wilt gebruiken om de bestaande tabel anoop . te vullen je kunt gewoon de tafel doorgeven anoop als het rijtype als volgt:

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 de null is de standaardwaarde die moet worden ingevoegd in tabelkolommen die niet zijn ingesteld in de doorgegeven json.

Als je geen bestaande tabel hebt, moet je een rijtype maken om uw json-gegevens vast te houden (dwz kolomnamen en hun typen) en deze door te geven als de eerste parameter, zoals deze anoop_type :

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


  1. sql groeperen op versus onderscheiden

  2. SQL Server Temp-tabel versus tabelvariabele

  3. mysqldump:Fout 2020:Pakket groter dan 'max_allowed_packet' bytes bij het dumpen van de tabel

  4. Waarschuwing dat de directory gebruiker/local/mysql/data geen eigendom is van de mysql-gebruiker