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

PostgreSQL中执行简单perform调用报语法错误是什么原因

语法错误原因

  • PERFORM 是PL/pgSQL 专属关键字,仅允许在存储函数、存储过程、匿名PL/pgSQL块的内部逻辑中使用,不支持作为普通SQL语句直接在顶层交互界面执行,报错是使用场景不符合要求导致的,和foo函数本身的定义无关。

解决方法

若要直接在SQL交互界面调用该函数

将PERFORM替换为SELECT即可,正确写法如下:

SELECT * FROM foo();

若需要在PL/pgSQL逻辑中调用且忽略函数返回值

需要将调用逻辑放在PL/pgSQL块的包裹范围内,正确写法如下:

DO $$
BEGIN
  PERFORM * FROM foo();
END;
$$ LANGUAGE plpgsql;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 07:15:00