postgresql 如何批量更新数据库,有这么难吗!!!
有一组数据:
id name
---------------------------
s-001 jack
s-002 tom
s-005 john
前台已使用 json 对上组数据进行存储 {id:s-001, name:jack ...... }
问题一:如何把这组数据批量插入到数据库,最好使用存储过程
问题二:postgreSQL 如何把 "a,d,2ed,we4e,dag" 解析为一个 array
------解决方案--------------------
问题2:
select string_to_array('a,d,2ed,we4e,dag',',') as ay;
--结果
ay
--------------------
{a,d,2ed,we4e,dag}
(1 行记录)
------解决方案--------------------
问题1:
存储过程不能直接解析json,因此最好前台把json解析成字符串,传入存储过程进行批量更新。如解析成如下的字符串:
"s-001,jack:s-002,tom:s-005,john"
--使用postgresql的函数进行行列转换插入到目标的表之中
insert into 目标表
select (string_to_array(str,','))[1],
(string_to_array(str,','))[2]
from unnest(string_to_array('s-001,jack:s-002,tom:s-005,john',':')) as t(str);