Mysql
 sql >> база данни >  >> RDS >> Mysql

Има ли драйвер за mysql на nodejs, който поддържа съхранени процедури?

node-mysql на Felix Geisendörfer поддържа съхранени процедури, но трябва да прекратите вашата съхранена процедура с SELECT като поставите флаг за успех/неуспех, след което го заявете, както бихте направили SELECT запитване. Ето как може да изглежда съхранената процедура:

DELIMITER //
DROP PROCEDURE IF EXISTS MyProcedure //
CREATE PROCEDURE MyProcedure(IN param1 VARCHAR/*, My, Parameters, ... */)
BEGIN

    DECLARE EXIT HANDLER FOR NOT FOUND, SQLWARNING, SQLEXCEPTION SELECT 0 AS res;
    # My Queries etc. ...

    SELECT 1 AS res;

END //
DELIMITER ;

Вашият Node код би изглеждал така:

var mysql = require('mysql');

var client = mysql.createConnection({
    host    : '127.0.0.1',
    user    : 'username',
    password: 'password'
});
client.query('USE mydatabase');

var myParams = "'param1', 'param2', ... ";
client.query("CALL MyProcedure(" + myParams + ")", function(err, results, fields) {
    if (err || results[0].res === 0) {
        throw new Error("My Error ... ");
    } else {
        // My Callback Stuff ...

    }
});


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql изберете с условна логика

  2. Грешка при миграцията в django 2; AttributeError:обектът 'str' няма атрибут 'decode'

  3. PDO MySQL драйвер на Mac

  4. Най-често срещаните MySQL заявки

  5. Импортирайте CSV за актуализиране само на една колона в таблицата