फ़ेलिक्स गीसेंडोरफ़र का node-mysql
संग्रहीत कार्यविधियों का समर्थन करता है, लेकिन आपको 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 ;
आपका नोड कोड कुछ इस तरह दिखेगा:
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 ...
}
});