我需要这个函数的 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;
我是 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;