postgresql – 从具有OUT参数的函数返回

前端之家收集整理的这篇文章主要介绍了postgresql – 从具有OUT参数的函数返回前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个错误,但我不知道问题是什么.

我想执行一个函数,并从列默认的一个列中返回一个值,一个序列 – 相当于currval(sequence).

我用:
Postgresql 9.0
pgAdmin III

CREATE OR REPLACE FUNCTION name_function(in param_1 character varying,out param_2 bigint)
  AS
$$
BEGIN
    INSERT INTO table (collumn_seq,param_1) VALUES (DEFAULT,param_1)
    returning collumn_seq;
--where:collumn_seq reference a collumn serial..
END;
$$
  LANGUAGE plpgsql VOLATILE;

我可以无错误地创建函数,但在尝试执行时,会返回以下错误

06001

它会像这样工作:
CREATE OR REPLACE FUNCTION name_function(param_1 character varying,OUT param_2 bigint) AS
$func$
BEGIN
    INSERT INTO table (collumn_seq,param_1)
    VALUES (DEFAULT,param_1)
    RETURNING collumn_seq
    INTO param2;
END
$func$LANGUAGE plpgsql;

通常,您将添加RETURN语句,但使用OUT参数时,这是可选的.
有关更多详细信息,请参阅手册:

> Returning from a function
> Executing a Query with a Single-row Result

猜你在找的Postgre SQL相关文章