В настоящее время я создаю функцию, и мне нужно объявить переменную как результат другой функции в моей main_function .
CREATE OR REPLACE FUNCTION main_function(t_name varchar)
RETURNS void AS
$BODY$
DECLARE
var_1 varchar := execute format('select var_1 from sub_function(%s)' ,t_name);
BEGIN
--do something with var_1
END;
$BODY$
LANGUAGE plpgsql;
My sub_function возвращает одну строку с тремя столбцами.
select var_1 from sub_function()
возвращает только один результат. Я хотел бы сохранить этот результат в переменной var_1 , потому что она понадобится мне позже. Также важно, чтобы эта sub_function работала с переменной t_name , которую я получил из аргумента main_function . Я пытался сделать это разными способами, например, без функции execute.
var_1 varchar := format('select var_1 from sub_function(%s)' ,t_name);
К сожалению, этот возвращает весь текст "select var_1 from sub_function ('soimething')", а не результат запрос. Что мне делать? Заранее спасибо за любую помощь!