1
私は以下のようにpostgresqlで手続きを作成しました。私は上記のコードが実行されるとoutパラメータの結果がノードpg module-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;
今、私は
以前client.query('select functionTest2(10)', input, function(err, result){});
としてノードPGから、この手順を実行している、それは形式を以下になり、私を与えていました。
{
"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
}
私はノードpgモジュールをアンインストールして、ノード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}
したがって、レコードの名前の値のペアを返すのではなく、関数名と値の配列を返します。私はノードpgモジュールの異なるバージョンをインストールしようとしましたが、問題は解決しません。
ありがとうございます。
OK ..私は問題が見つかりました..実際にはselect * from function2(10)のようなクエリを使用する必要があります。それは問題を解決した –