Я новичок в программировании с plpg sql и сохраненными функциями в postgresql. Я запрограммировал одну функцию, которая называется так:
CREATE OR REPLACE FUNCTION public.uploadbutton(VARIADIC arr character varying[])
RETURNS text
LANGUAGE plpgsql
AS $function$DECLARE
arrayi ALIAS for $1;
result text;
begin
return result;
END;
$function$
;
Как видите, функция не имеет большого количества кода. Проблема в том, что я не совсем понимаю, как обращаться с массивами в Postgresql и plpg sql.
Мне нужно разделить массив каждые 3 разделителя до конца массива, массив может иметь много входов, но не менее 3.
SELECT uploadbutton('59373033336415021231','5','a','59373033335915022fff','5','b')
Вот пример для его вызова.
Результат должен выглядеть следующим образом:
('59373033336415021231','5','a')('59373033336415021231','5','a')
Можете ли вы научить меня, как справиться с этим?
С уважением, ребята!
РЕДАКТИРОВАТЬ:
После получения этого результата:
('59373033336415021231','5','a')('59373033336415021231','5','a')
Мне нужно поставить каждые 3 параметра и вызвать второй функция с первой частью результата в качестве параметров. И второе значение должно быть Int. Это должно выглядеть следующим образом:
edit ('59373033336415021231', 5, 'a') и то же самое для второй части редактирования результата ('59373033336415021231', 5, 'a')
В данный момент я пытаюсь это сделать и хочу получить идентификатор первого параметра с помощью моей функции edit (). Вот что у меня есть:
CREATE OR REPLACE FUNCTION public.upload(string_in text)
RETURNS integer
LANGUAGE plpgsql
AS $function$DECLARE
string_in ALIAS FOR $1;
id integer;
begin
id= (select id from public.buttons where fbisn =
split_part(string_in,',',1));
return val;
end;
$function$
;
string_in - каждый раз, когда завершается предложение for первой функции, строка результата этого. Эта функция будет вызываться каждый раз.
Но в настоящее время я не получу никакого результата.
Спасибо за вашу помощь