Re: How to use Array in Array of Json - Mailing list pgsql-sql

From Monalee Bhandge
Subject Re: How to use Array in Array of Json
Date
Msg-id CAErOoCesQQFc+yUpq7O-yaOFrsFkaR27sKNY88VNYXtzUE3uBQ@mail.gmail.com
Whole thread Raw
In response to RE: How to use Array in Array of Json  (<2.andriychuk@gmail.com>)
List pgsql-sql
Dear Friends,
Thanks for your email. But here I am sharing my actual use case.


-- Function: public.sample_json_array(json)

-- DROP FUNCTION public.sample_json_array(json);

CREATE OR REPLACE FUNCTION public.sample_json_array(vin_ip_param json)
  RETURNS void AS
$BODY$
Declare 
v_text text;
arr integer[];
cnt integer := 1;
val varchar;
BEGIN
/*
SELECT sample_json_array(' {
"vin_loc_cd" : [1, 2, 3],
"vin_comp_cd" : [5, 6, 7]
}
   ');
*/
DROP TABLE IF EXISTS my_loc ;

raise notice 'ABC %', (SELECT d.value FROM json_each_text(vin_ip_param) AS d WHERE d.key='vin_loc_cd' );

CREATE TEMP TABLE my_loc AS
(SELECT * from epps_admin.epps_location_mst lm
WHERE 
 lm.loc_cd In 
 (SELECT d.value FROM json_each_text(vin_ip_param) AS d WHERE d.key='vin_loc_cd' )
 ); 

END;

$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION public.sample_json_array(json)
  OWNER TO epps_programmer;

I WANT TO USE array variable "vin_loc_cd"  from input vin_ip_param json in my sql query.

Please provide solution for this scenario.



On Mon, Nov 25, 2019 at 9:44 PM <2.andriychuk@gmail.com> wrote:

Hi Monalee,

 

You can just use a json/jsonb variable. Content should be looking like this:

 

[

{“vin_comp_cd”: 1, “vin_div_cd”:11, “vin_array”: [{“vin_loc_cd”: 33, “vin_bt_cd”: 44}] },

{“vin_comp_cd”: N, “vin_div_cd”:NN, “vin_array”: [{“vin_loc_cd”: AA, “vin_bt_cd”: BB}] }

 

]

 

Or if “vin_loc_cd” and “vin_bt_cd” can be independent arrays if they are independent.

 

Best,

Igor

 

From: Monalee Bhandge <monalee.bhandge@epps-erp.com>
Sent: Monday, November 25, 2019 4:02 AM
To: pgsql-sql@lists.postgresql.org
Subject: How to use Array in Array of Json

 

Dear Friends,

My function definition is as:

 

CREATE OR REPLACE FUNCTION schema1.samplefun1(

    vin_comp_cd smallint,

    vin_div_cd smallint,

    vin_loc_cd smallint[],

    vin_bt_cd integer[],

  )

 

Here instead of passing parameter I want to just send a single i/p in Json[].

 

My problem is how to pass array in Json[] variable. And how to use in code.

 

 

Thanking You!

Monalee

Database Lead Engineer.

pgsql-sql by date:

Previous
From:
Date:
Subject: RE: How to use Array in Array of Json
Next
From: Monalee Bhandge
Date:
Subject: How to use Array in Array of Json