Я не могу передать значения массива в качестве входных данных для другой хранимой процедуры. Однако, когда я пытаюсь вставить (таблица kvstore заполнена без проблем) значения массива, таблица загружается. Пожалуйста, посоветуйте мне, как динамически передавать значения массива из одной хранимой процедуры в другую.
Уведомление о повышении печатает значения, как показано ниже. ПРИМЕЧАНИЕ: Значение 1: ПРИМЕЧАНИЕ: Значение 2:
CREATE OR REPLACE FUNCTION test_schema.test_insert_choice(
p_member_crn character varying,
p_preferencearray text[][],
p_created timestamp without time zone,
p_modified timestamp without time zone,
p_created_system smallint,
p_created_by character varying,
p_modified_by character varying,
p_modified_system smallint
)
RETURNS text AS
$BODY$
DECLARE
lv_n_rtn INTEGER ;
lv_t_err_msg TEXT ;
lv_t_err_dtl TEXT ;
BEGIN
/*FOR i IN 1 .. array_upper(p_preferencearray, 1) LOOP
INSERT INTO lcdm_main.kvstore (key, value)
VALUES (p_preferencearray[i][1], p_preferencearray[i][2]);
END LOOP;*/
FOR i IN 1 .. array_upper(p_preferencearray, 1) LOOP
raise notice 'Value 1: %', p_preferencearray[i][1];
raise notice 'Value 2: %', p_preferencearray[i][2];
perform test_schema.test_insert_master(p_member_crn,
p_preferencearray[i][1],
p_preferencearray[i][2],
p_created,
p_modified,
p_created_system,
p_created_by,
p_modified_by,
p_modified_system);
END LOOP;
RETURN 0;
END;
$BODY$
LANGUAGE plpgsql VOLATILE SECURITY DEFINER
COST 100;```