pgsql関数json_populate_recordset
に渡される最初の引数 行タイプである必要があります。 json配列を使用して、既存のテーブルにデータを入力する場合anoop
テーブルanoop
を渡すだけです。 次のような行タイプとして:
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"}]');
ここでnull
渡されたjsonで設定されていないテーブル列に挿入するデフォルト値です。
既存のテーブルがない場合は、行タイプを作成する必要があります
jsonデータ(つまり、列名とそのタイプ)を保持し、このanoop_type
のように最初のパラメーターとして渡します。 :
create TYPE anoop_type AS (id int, name varchar(100));
select * from json_populate_recordset(null :: anoop_type,
'[...]') --same as above