如何从另一个PL/Perl函数调用PL/Perl函数?

如何从另一个PL/Perl函数调用PL/Perl函数?,perl,postgresql,plperl,Perl,Postgresql,Plperl,我试图使用多个函数合成结果,但当我调用foobar()时,我得到一个空结果。来自: PL/Perl函数不能直接相互调用(因为它们是Perl内部的匿名子例程) 解决方案似乎是将函数作为postgres函数调用(使用spi_查询),或者您可以将对函数的引用放入全局可用的hash%\u SHARED中,如图所示 CREATE FUNCTION foo() RETURNS text LANGUAGE plperl AS $$ return 'foo'; $$; CREA

我试图使用多个函数合成结果,但当我调用
foobar()
时,我得到一个空结果。

来自:

PL/Perl函数不能直接相互调用(因为它们是Perl内部的匿名子例程)

解决方案似乎是将函数作为postgres函数调用(使用spi_查询),或者您可以将对函数的引用放入全局可用的hash
%\u SHARED
中,如图所示

CREATE FUNCTION foo() RETURNS text
    LANGUAGE plperl
    AS $$
        return 'foo';
$$;

CREATE FUNCTION foobar() RETURNS text
    LANGUAGE plperl
    AS $$
        return foo() . 'bar';
$$;