SELECT在PL/pgSQL函数中引发异常 [英] SELECT raises exception in PL/pgSQL function

查看:172
本文介绍了SELECT在PL/pgSQL函数中引发异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在一个函数内部实现一个循环,但是我收到此错误:

I want to implement a loop inside a function but I receive this error:

错误查询没有结果数据的目的地

ERROR query has no destination for result data

代码:

CREATE OR REPLACE FUNCTION  my_function(ill int, ndx_ bigint) RETURNS int AS
$$
DECLARE
    found_id int;
BEGIN
    FOR found_id IN 1..25 LOOP
        SELECT 1;
    END LOOP;
    RETURN 1;
END;
$$ LANGUAGE plpgsql;

SELECT my_function( 0,79 );

为什么?如何解决?

推荐答案

有时,对表达式或SELECT查询求值很有用,但是 放弃结果,例如在调用具有以下内容的函数时 副作用,但没有有用的结果值.要在PL/pgSQL中执行此操作,请使用 PERFORM语句:

Sometimes it is useful to evaluate an expression or SELECT query but discard the result, for example when calling a function that has side-effects but no useful result value. To do this in PL/pgSQL, use the PERFORM statement:

PERFORM query;

除非您分配结果,否则请替换

Unless you assign the result, replace

SELECT 1;

PERFORM 1;

这篇关于SELECT在PL/pgSQL函数中引发异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆