创建一个带有参数作为 arrayOfJson 对象的存储过程,以将每个对象属性作为单独的列插入

Create a stored procedure with parameters as arrayOfJson objects to insert each object properties as individual columns

我必须插入值 [{name:'ravi',age;20},{name:'kumar',age;22}]。存储过程应将此数组作为输入并将其存储为单独的列,如下所示。

Table

name - age
ravi   20
age    22

插入 json 对象的过程:

CREATE OR REPLACE FUNCTION insertJson(jsonObjects ARRAY[]) 
RETURNS void AS $$
BEGIN
    INSERT INTO MyTable 
    VALUES (jsonObjects)
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION insertJson(obj JSONB)
RETURNS void AS $$
BEGIN
      INSERT INTO test2 (name, "age")
      SELECT arr.row ->> 'name', (arr.row ->> 'age')::numeric FROM (SELECT jsonb_array_elements(obj) as row) as arr;
END;
$$ LANGUAGE plpgsql;