web-dev-qa-db-fra.com

Appel de procédures stockées dans Sequelize.js

J'ai cherché dans la documentation et essayé Google, mais je n'ai pas trouvé de réponse directe à la question:

Comment puis-je appeler une procédure stockée dans Sequelize?

J'ai cherché dans la documentation de Sequelize mais je n'ai même pas trouvé de trace de la "procédure" Word en cela.

Le plus proche que j'ai obtenu était cette demande de rapport de bogue transformé en fonctionnalité: https://github.com/sequelize/sequelize/issues/959

Citant le lien:

Ce que j'imagine serait génial:

sequelize.query('CALL calculateFees();').success(
    function (settingName1, settingName2, settingName3, users) {
});

Ils mentionnent qu'il est possible d'appeler des procédures stockées, mais la syntaxe n'est pas fournie.

Quelqu'un peut-il me donner un exemple avec la syntaxe appropriée?

Merci.

16
atoth

Remplacez success par spread et vous êtes prêt à partir. Notez que cela ne fonctionnera que sur sequlize 2.0

10
Jan Aagaard Meier

Appelez SP avec les paramètres dans Sequelize

sequelize
  .query('CALL login (:email, :pwd, :device)', 
        {replacements: { email: "[email protected]", pwd: 'pwd', device: 'Android', }})
  .then(v=>console.log(v));
15
Nishchit Dhanani

les requêtes séquentielles renvoient des promesses, voici donc comment interroger les procédures stockées.

sequelize.query('CALL calculateFees();').then(function(response){
     res.json(response);
    }).error(function(err){
       res.json(err);
});
5
Buhiire Keneth

J'ai exécuté la procédure stockée avec le mot clé EXEC.

sequelize
.query('EXEC getData :@param1', { replacements: { @param1: 'Test'}, type:sequelize.QueryTypes.SELECT })
.then(data => /*Do something with the data*/)
.catch(error => /*Do something with the error*/)
0
Josep1992