使用 postgresql 声明不在函数中工作

Declare not working in funtion using postgresql

这是我的功能:

CREATE OR REPLACE FUNCTION public.func_leonard_test2(
    IN url text,
    OUT translation text)
  RETURNS text AS
$BODY$BEGIN

DECLARE tempo text;

SELECT CONCAT(translate,'=true') INTO tempo FROM seo_content WHERE name=url;    

    CASE

        WHEN tempo = 'location_town' THEN

            SET translation = 'A';

        ELSE

            SET translation = 'B';   

    END CASE;

END;$BODY$

我在声明速度时遇到问题。

这是输出:

ERROR: invalid type name "CONCAT(translate,'=true') INTO tempo FROM seo_content WHERE name"

即使我删除 concat 并继续翻译,我也会得到

ERROR: invalid type name "translate INTO tempo FROM seo_content WHERE name"

谢谢

试试这个:

CREATE OR REPLACE FUNCTION public.func_leonard_test2(
    IN url text,
    OUT translation text)
  RETURNS text AS
$BODY$

DECLARE tempo text;
BEGIN

SELECT CONCAT(translate,'=true') INTO tempo FROM seo_content WHERE "name"=url;    

    CASE

        WHEN tempo = 'location_town' THEN

            translation := 'A';

        ELSE

            translation := 'B';   

    END CASE;

END;$BODY$ language plpgsql;