sql >> Databáze >  >> RDS >> Mysql

Existuje ovladač pro mysql na nodejs, který podporuje uložené procedury?

node-mysql Felixe Geisendörfera podporuje uložené procedury, ale musíte uloženou proceduru ukončit pomocí SELECT zadáním příznaku úspěchu/neúspěchu a poté jej dotazujte jako SELECT dotaz. Uložená procedura může vypadat následovně:

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 ;

Váš kód uzlu by vypadal nějak takto:

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. 7 věcí, které byste měli vědět o oddílech v infrastruktuře Oracle Cloud Infrastructure

  2. Lze MySQL bez problémů nahradit MariaDB nebo je v tomto případě potřeba něco změnit?

  3. Získání výsledku mysql za posledních 30 dní

  4. Pořadí MySQL v případě remíz