我目前正在制作一个函数,我需要在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;
我的sub_function返回一行三列。
select var_1 from sub_function()
只返回一个结果。我想将该结果存储在变量var_1中,因为稍后我将需要它。这个sub_function与我从 main_function 的参数中获得的t_name变量一起操作也很重要。我尝试过很多不同的方法,例如没有执行功能。
var_1 varchar := format('select var_1 from sub_function(%s)' ,t_name);
不幸的是,这个返回整个文本“select var_1 from sub_function('soimething')”而不是查询的结果。我该怎么办?提前感谢您的帮助!