2016-05-02 6 views
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モジュールの異なるバージョンをインストールしようとしましたが、問題は解決しません。

ありがとうございます。

+0

OK ..私は問題が見つかりました..実際にはselect * from function2(10)のようなクエリを使用する必要があります。それは問題を解決した –

答えて

1

ok ..私は問題を見つけました。実際には、select * from function2(10)のようなクエリを使用する必要があります。それは問題を解決しました

関連する問題