sql >> データベース >  >> RDS >> Mysql

ストアドプロシージャをサポートするnodejs上のmysqlのドライバーはありますか?

    FelixGeisendörferの 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 ...
    
        }
    });
    


    1. 最初にコードを使用して文字列インデックスを作成する

    2. MySQL外部キー

    3. mysqlの結果を正しいタイプのjsonに変換します

    4. データベースとは何ですか、なぜデータベースなのですか?