You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL函数报错:END附近语法错误,请求排查修正

PostgreSQL函数custTrans语法错误修复

你的函数报错源于PL/pgSQL语法规范问题,具体修正点如下:

  • DECLARE段声明变量时,末尾必须加分号
  • SELECT INTO语句执行结束后必须加分号
  • PL/pgSQL函数需要通过RETURN语句明确返回结果

修正后的完整代码:

CREATE OR REPLACE FUNCTION custTrans(categ_id int)
RETURNS VARCHAR(45) AS $$
DECLARE 
  categ_name varchar(45); -- 补充分号
 BEGIN
  SELECT c.name INTO categ_name
  FROM category AS c
  WHERE c.category_id = categ_id; -- 补充分号
  RETURN categ_name; -- 添加返回语句
 END;
$$ language plpgsql;

如果只是简单根据ID查询返回分类名称,也可以用更简洁的SQL函数写法,无需PL/pgSQL:

CREATE OR REPLACE FUNCTION custTrans(categ_id int)
RETURNS VARCHAR(45) AS $$
  SELECT name FROM category WHERE category_id = categ_id;
$$ language sql;

内容的提问来源于stack exchange,提问作者Michael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 01:14:53