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

如何解决PostgreSQL函数报错‘query has no destination for result data’?

问题分析与修复方案

你的函数出现query has no destination for result data错误,以及执行异常,主要有以下几个问题:

  • 返回类型不匹配:函数声明返回char,但实际需要返回包含active和active_status两个字段的多行结果集,类型完全不匹配。
  • 缺少返回逻辑:在PL/pgSQL中执行SELECT语句时,必须明确指定如何处理查询结果,这里需要用RETURN QUERY将查询结果返回给调用者,否则数据库不知道如何处理查询出来的数据。
  • 拼写错误:CASE语句里的WHEN O是字母O,应该改为数字0;active _status中间多了空格,正确的字段名是active_status。

修复后的函数代码:

CREATE OR REPLACE FUNCTION active_func()
RETURNS TABLE(active int, active_status text)
LANGUAGE plpgsql
AS $$
BEGIN
    RETURN QUERY
    SELECT 
        active,
        CASE active
            WHEN 0 THEN 'NO' 
            WHEN 1 THEN 'Yes'
        END AS active_status
    FROM customer;
END; $$

调用方式:

SELECT * FROM active_func();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 12:00:21