【问题标题】:out parameter result returns by node pg module - postgresqlout 参数结果由节点 pg 模块返回 - postgresql
【发布时间】:2016-05-02 16:19:44
【问题描述】:

我在 postgresql 中创建了一个过程,如下所示。

CREATE OR REPLACE FUNCTION public.functiontest2(
    IN data numeric,
    OUT result numeric,
   OUT result1 numeric)
RETURNS record AS
$BODY$
  DECLARE
    declare SEQVAL decimal := 10;

    BEGIN   
      result=SEQVAL;
      result1=data;
    END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;

现在我已经从节点 pg 执行了这个过程

client.query('select functionTest2(10)', input, function(err, result){});

以前,当我执行上面的代码时,它给了我以下格式的结果。

{
"command":"SELECT",
"rowCount":1,
"oid":null,
"rows":[{"result":"10"},{"result1":"10"}],
"fields":[{"name":"result","tableID":0,"columnID":0,"dataTypeID":1700,"dataTypeSize":-1,"dataTypeModifier":-1,"format":"text"}],
"_parsers":[null],
"rowAsArray":false
}

但是现在我已经卸载了 node pg 模块并再次安装了 node pg 模块。它给了我以下格式的结果

{
 "command":"SELECT",
 "rowCount":1,
 "oid":null,
 "rows":[{"functiontest2":"(10,10)"}],
 "fields":          [{"name":"functiontest2","tableID":0,"columnID":0,"dataTypeID":2249,"dataTypeSize":-1,"dataTypeModifier":-1,"format":"text"}],
 "_parsers":[null],
 "rowAsArray":false}

因此,不同之处在于不是返回记录的名称值对,而是返回函数名称和值数组。我尝试安装不同版本的 node pg 模块,但问题仍然存在。

提前致谢。

【问题讨论】:

  • 好的..伙计们我发现了问题..实际上我需要使用像 select * from function2(10); 这样的查询它已经解决了问题

标签: node.js postgresql pg node-postgres


【解决方案1】:

好的..伙计们我发现了问题..实际上我需要使用像 select * from function2(10); 这样的查询解决了问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-13
    • 2020-04-04
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    • 1970-01-01
    • 2016-09-25
    • 1970-01-01
    相关资源
    最近更新 更多