3
我已經一個PostgreSQL存儲的函數定義如下:提取結果
SELECT SessionGet('SID-1'::varchar);
的session
表:
CREATE OR REPLACE FUNCTION SessionGet(
sid varchar)
RETURNS "SESSION" AS $$
SELECT * FROM "SESSION" WHERE "SESSION_ID" = sid;
$$ LANGUAGE sql;
我使用PG模塊調用它從節點被定義爲:
CREATE TABLE "SESSION"
(
"SESSION_ID" character varying NOT NULL DEFAULT ''::character varying,
"SESSION" json NOT NULL DEFAULT '{}'::json,
"LAST_UPDATE" bigint DEFAULT 0,
CONSTRAINT "SESSION_PK" PRIMARY KEY ("SESSION_ID")
)
WITH (
OIDS=FALSE
);
我想檢索返回結果如下:
client.query(sql, function(err, result) {
done(); // Releasing connection to the pool
if (err) {
callback(err);
} else if (result.rows.length > 0) {
var ttmp = result.rows[0];
var tmp1 = ttmp[0];
console.log("Res[0]: " + tmp1);
callback(err,result.rows[0]);
} else {
callback(err);
}
});
雖然result.rows.length
是> 0
,result.rows[0][0]
是不確定的。我如何從返回的行中檢索字段值?
你確定你的函數返回一個非空值嗎?使用相同的輸入在'psql'中調用它並查看。 –
當我從pgAdmin'sql窗口調用函數時,得到:「(SID-1,{},10)」。 May節點的pg模塊不能正確處理這個結果... – JVerstry
當我運行時:SELECT * FROM「SESSION」WHERE「SESSION_ID」='SID-1';結果出現在3個不同的colums中,而不是(,,) – JVerstry