什么是从nodejs调用postgres函数或存储过程的最佳/正确方法

Pus*_*dav 7 postgresql node.js

我正在使用"pg"模块来处理postgresql db,如何使用pg调用函数我有疑问,

我用查询方法调用函数,

client.query("SELECT * FROM SQSP_IsUserNameExists($1)",[userName], function(err, result) {
  // some code.

});
Run Code Online (Sandbox Code Playgroud)

这工作正常,但这是调用postgresql函数的正确方法.

vit*_*y-t 6

您的代码看起来正确。

但是如果你想要一个更好的语法,例如pg-promise

// calling a function:
const result = await db.func('funcName', [userName]);
//=> SELECT * FROM funcName('user-name')

// calling a stored procedure:
const result = await db.proc('procName', [userName]);
//=> CALL procName('user-name')
Run Code Online (Sandbox Code Playgroud)


Jam*_*ner -1

从 PostgrSQL 方面来看,如果函数返回的结果集不是 yes,则 SQL 语法是正确的。至于 Node 调用语法我不熟悉该框架。但如果它返回结果,那么我说任务完成。