es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Node.js sequelize llamando a un procedimiento almacenado con parámetros de entrada y salida.

Consulta de base de datos:

CREAR DEFINIDOR=root@localhost PROCEDURE signinVendor(en inputvalue varchar(100), en pword varchar(30), fuera retval tinyint)
COMENZAR

Código Node.js:

const spquery = await db.sequelize.query (‘llamar signinVendor(:inputvalue,:pword,@retval);’,{
remplazos:{
inputvalue : req.body.inputvalue,
pword : req.body.password
},
tipo : TiposConsulta.SELECT,
crudo: verdadero
});

Soy capaz de llamar procedimientos ingresando el valor de entrada y la contraseña. Pero, no puedo encontrar la sintaxis para acceder al valor de retorno a través de mi código de Sequelize Node.js. ¿Cómo escribimos el código para el parámetro de salida en Sequelize?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Puedes acceder al valor de retorno del procedimiento almacenado utilizando el parámetro output del método query. El parámetro output es un objeto que contiene el nombre del parámetro de salida y el valor del parámetro de salida.

    Por ejemplo, en tu caso, puedes acceder al parámetro de salida retval de la siguiente manera:

    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,
        output: {
            retval: {
                type: Sequelize.TINYINT
            }
        }
    });
    
    const retval = spquery[0].retval;
    

Comments are closed.