加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-13 16:21:08 所属栏目:百科 来源:网络整理
导读:我有一个错误,但我不知道问题是什么. 我想执行一个函数,并从列默认的一个列中返回一个值,一个序列 – 相当于currval(sequence). 我用: PostgreSQL 9.0 pgAdmin III CREATE OR REPLACE FUNCTION name_function(in param_1 character varying,out param_2 big
我有一个错误,但我不知道问题是什么.

我想执行一个函数,并从列默认的一个列中返回一个值,一个序列 – 相当于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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读