gpt4 book ai didi

函数中 if 语句的 Postgresql 语法错误

转载 作者:行者123 更新时间:2023-11-29 13:02:22 25 4
gpt4 key购买 nike

我正在尝试在 postgresql 中编写一个函数,但我收到了 if 语句的语法错误:

CREATE OR REPLACE FUNCTION getallcampuses(IN a character varying, IN b character varying)
RETURNS TABLE(campusid charactervarying, campusname character varying) AS
$BODY$
BEGIN
if $1 = 'PREK' then
SELECT * from "SIS_campus";
ELSE
BEGIN
IF $2 = 'DAll' then
SELECT distinct(district_id) || 'ALL' AS CampusID, ' District' AS CampusName

UNION

SELECT campus_id, name
FROM "SIS_campus"
WHERE district_name IS NOT NULL
order by name;
Elsif $2 = 'All' then

SELECT campus_id, name
FROM "SIS_campus"
WHERE district_name IS NOT NULL
and isnumeric(name) = 0
order by name;
end if;
END
end if;
END
$BODY$
LANGUAGE sql;

这里是错误:

ERROR:  syntax error at or near "if"
LINE 5: if $1 = 'PREK' then
^

最佳答案

函数体是PL/PgSQL,但是你声明了它LANGUAGE sql

如果您正在编写 PL/PgSQL,请使用 LANGUAGE plpgsql

( related prior answer )

关于函数中 if 语句的 Postgresql 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25813052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com