나는 related question을 읽었지만 사용자 kenthewala와는 달리 데이터베이스에 JSON 객체의 배열을 가져 오려고합니다.json_populate_recordset을 사용하여 단일 JSON 객체의 여러 테이블 채우기
내 JSON 파일은 다음과 같다 다음에 따라 이름
{
"tablename_a":[{"a_id":1,"b_id":2,"c_id":3},
{"a_id":2,"b_id":51,"c_id":3}],
"tablename_b":[{"b_id":2,"name":"John Doe", "z_id":123},
{"b_id":51,"name":"Mary Ann", "z_id":412}],
"tablename_c":[{"c_id":3, "OS type":"Windows 7"}],
"tablename_z":[{"z_id":123, "Whatever":"Something"},
{"z_id":123, "Whatever":"Something else"}]
}
테이블이 이미 DB에 존재한다. 의사 코드에서
나는
for each key in JSON_FILE as tbl_name
(
insert into tbl_name select * from json_populate_recordset
(
null::tbl_name, 'content of tbl_name'
)
)
같은 것을 상상하지만, 이것을 실현하는 방법을 나는 확실하지 않다.
PostgreSQL 9.3.5 (및 PHP 5.3.3이 도움이되는 경우)를 사용하고 있습니다. (필자는 DB에서 원래 JSON을 수출로)
테이블 구조는 JSON 파일과 유사 등등
create table tablename_a (a_id integer, b_id integer, c_id integer);
create table tablename_b (b_id integer, name text, z_id integer);
하고 있습니다.
실제 테이블 정의가 좋을 것이다. 'CREATE TABLE ... '. 그리고 항상 Postgres 버전. –
당신 말이 맞아요, 힌트를 주셔서 감사합니다! 그에 따라 내 게시물을 변경했습니다. – Picl