ドキュメントを検索してグーグルで試してみましたが、質問に対する正解は見つかりませんでした。
Sequelizeでストアドプロシージャを呼び出すにはどうすればよいですか?
Sequelizeのドキュメントを検索しましたが、その中に「手順」という単語の痕跡は見つかりませんでした。
私が得た最も近いものは、このバグレポートが返された機能のリクエストでした: https://github.com/sequelize/sequelize/issues/959
リンクからの引用:
私が想像することは素晴らしいだろう:
sequelize.query('CALL calculateFees();').success(
function (settingName1, settingName2, settingName3, users) {
});
ストアドプロシージャを呼び出すことは可能ですが、構文は提供されていません。
正しい構文の例を誰かに教えてもらえますか?
ありがとう。
success
をspread
に変更すれば、問題ありません。これはsequlize 2.0でのみ機能することに注意してください
sequelize
.query('CALL login (:email, :pwd, :device)',
{replacements: { email: "[email protected]", pwd: 'pwd', device: 'Android', }})
.then(v=>console.log(v));
sequelizeクエリはpromiseを返すため、以下はストアドプロシージャをクエリする方法です。
sequelize.query('CALL calculateFees();').then(function(response){
res.json(response);
}).error(function(err){
res.json(err);
});
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*/)