gpt4 book ai didi

javascript - 从 Node pg 中的 SELECT * 中提取结果

转载 作者:搜寻专家 更新时间:2023-11-01 00:08:26 25 4
gpt4 key购买 nike

我有一个 Postgresql 存储函数定义如下:

CREATE OR REPLACE FUNCTION SessionGet(
sid varchar)
RETURNS "SESSION" AS $$
SELECT * FROM "SESSION" WHERE "SESSION_ID" = sid;
$$ LANGUAGE sql;

我使用 PG 模块从 Node 调用它:

SELECT SessionGet('SID-1'::varchar);

session 表定义为:

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] 未定义。如何从返回的行中检索字段值?

最佳答案

我通过发送 SQL 语句(SELECT * FROM "SESSION"WHERE "SESSION_ID"= '...';)而不是依赖于存储函数解决了我的问题。

我还将 SESSION 列的名称更改为 SESSION_JS,因为将表的名称赋予列似乎也是一个问题,尽管没有错误显示消息。

关于javascript - 从 Node pg 中的 SELECT * 中提取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21932378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com