我根据此处https://www.techonthenet.com/postgresql/declare_vars.php的postgres手册编写了声明。
沙盒网址(http://rextester.com/REN27021) 但是由于某种原因,它一直在报告我的声明语句的语法错误
drop table if exists x cascade;
create table x(name text, gender text);
declare mydata varchar DEFAULT := '[{
"name": {
"first": "a",
"last": "b"
},
"gender": "male"
}]';
insert into x (name, gender)
select t -> 'name' ->> 'first', t ->> 'gender'
from jsonb_array_elements(
mydata::jsonb) t;
select *
from x;
这到底有什么问题?