Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Có trình điều khiển cho mysql trên nodejs hỗ trợ các thủ tục được lưu trữ không?

node-mysql của Felix Geisendörfer hỗ trợ các thủ tục được lưu trữ, nhưng bạn cần kết thúc thủ tục đã lưu trữ của mình bằng SELECT nhập cờ thành công / thất bại, sau đó truy vấn nó như bạn làm với SELECT truy vấn. Đây là cách thủ tục được lưu trữ có thể trông như thế nào:

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 ;

Mã Node của bạn sẽ trông giống như sau:

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. Làm thế nào để chỉ lấy các bảng, không phải các khung nhìn bằng cách sử dụng SHOW TABLES?

  2. Cột bảng Mysql không được rỗng

  3. Chuyển đổi mã MySQL thành Access:GROUP_CONCAT và một bộ ba JOIN

  4. MySQL so với MariaDB

  5. Cách cung cấp kết nối cơ sở dữ liệu mysql trong một tệp duy nhất trong nodejs