Đối số đầu tiên được truyền cho hàm pgsql json_populate_recordset
phải là một loại hàng. Nếu bạn muốn sử dụng mảng json để điền vào bảng hiện có anoop
bạn chỉ cần vượt qua bảng anoop
như loại hàng như thế này:
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"}]');
Đây null
là giá trị mặc định để chèn vào các cột của bảng không được đặt trong json được truyền vào.
Nếu bạn không có bảng hiện có, bạn cần phải tạo một loại hàng
để giữ dữ liệu json của bạn (tức là tên cột và loại của chúng) và chuyển nó làm tham số đầu tiên, như sau anoop_type
:
create TYPE anoop_type AS (id int, name varchar(100));
select * from json_populate_recordset(null :: anoop_type,
'[...]') --same as above