【问题标题】:SELECT raises exception in PL/pgSQL functionSELECT 在 PL/pgSQL 函数中引发异常
【发布时间】:2016-05-14 19:05:30
【问题描述】:

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

ERROR 查询没有结果数据的目的地

代码:

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

为什么?如何解决?

【问题讨论】:

标签: postgresql plpgsql


【解决方案1】:

The manual instructs:

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

PERFORM query;

除非你分配结果,否则替换

SELECT 1;

PERFORM 1;

【讨论】:

    猜你喜欢
    • 2013-11-15
    • 2012-04-24
    • 2018-02-10
    • 1970-01-01
    • 1970-01-01
    • 2012-07-28
    • 1970-01-01
    • 2012-08-12
    • 1970-01-01
    相关资源
    最近更新 更多