我需要这个函数的 postgresql 版本

I need postgresql version of this function

我是 postgresql 的新手,我需要这个函数的 postgresql 版本 - 你能帮我吗?

CREATE FUNCTION [dbo].[getpersonname]
    (@commid INT)
RETURNS VARCHAR(255)
AS
BEGIN
    DECLARE @personnname varchar(255)

    SELECT 
        @personnname = COALESCE(@personname + ',', '') + 
                       ISNULL(CONVERT(VARCHAR(50), pers.personnname  ),'')
    FROM 
        dbo.comlink comli  
    INNER JOIN 
        dbo.person pers ON personid= comli_personid
    WHERE  
        comli.comli_commid = @commid

    RETURN @personnname 
END

如果我正确理解该代码,它 returns 所有名称均以逗号分隔。

这可以通过 Postgres 中的一个简单 SQL 语句轻松完成:

create FUNCTION get_person_name(p_commid int)
   RETURNS text
AS
$$
    SELECT string_agg(pers.personnname, ',')
    FROM dbo.comlink comli  
      JOIN dbo.person pers ON personid = comli_personid
    WHERE  comli.comli_commid= p_commid;
$$
language sql;