使用 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;
这是我的功能:
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;