SELECT在PL / pgSQL函数中引发异常

时间:2016-05-14 19:05:31

标签: postgresql plpgsql

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

  

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

代码:

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 );

为什么呢?如何解决?

1 个答案:

答案 0 :(得分:2)

The manual instructs:

  

有时评估表达式或SELECT查询很有用   丢弃结果,例如在调用具有的函数时   副作用但没有有用的结果值。要在PL / pgSQL中执行此操作,请使用   PERFORM声明:

PERFORM query;

除非您指定结果,否则请替换

SELECT 1;

PERFORM 1;