Node.js sequelize 调用带有输入和输出参数的存储过程

Node.js sequelize calling a stored procedure with input and output parameters

数据库查询:

CREATE DEFINER=`root`@`localhost` PROCEDURE `signinVendor`(in inputvalue varchar(100), in pword varchar(30), **out retval tinyint**)
BEGIN

Node.js代码:

const spquery = await db.sequelize.query('call signinVendor(:inputvalue,:pword,**@retval**);',{
    replacements:{
      inputvalue : req.body.inputvalue,
      pword : req.body.password
    },
    type: QueryTypes.SELECT,
    raw: true
  });

我可以通过输入输入值和密码来调用程序。但是,我无法通过我的 sequelize nodejs 代码找到访问 return 值的语法。 sequelize中out参数的代码怎么写?

好吧,看来我们可以预先编写代码并通过数据库中的 select 发送输出,避免使用输出参数。似乎 Sequelize ORM 还没有实现任何通过 NodeJS 访问输出参数的方法。

例如:

在SQL,

您可以使用参数来存储所需的输出,而不是在存储过程中创建输出参数。

设置查询 = (select count(*) from table_name);

然后你可以在没有参数的情况下执行 select :

select查询;

这样你就不需要依赖 Sequelize ORM 中的输出参数。您可以简单地 select 您想要的输出作为存储过程的结果。