例子仅在windows下测试通过,没有放在linux下测试。如有问题,可以电邮给我~

1、安装node.js、mysql,此处略(自行搜索吧)…;

2、创建一个名为test的数据库,然后建一张名为user_info的表(仅供测试)…

这里假定mysql使用的用户名为root,密码为123456

相应的mysql如下:
复制代码 代码如下:
/**
* 创建名为test的数据库
*/
DROP DATABASE IF EXISTS test;
CREATE DATABASE test;
USE test;
 
/**
* 创建user_info表
*/
DROP TABLE IF EXISTS `user_info`;

CREATE TABLE `user_info` (
  `userId` int(10) NOT NULL AUTO_INCREMENT,
  `userName` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`userId`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

/**
* 插入三条记录
*/
INSERT INTO user_info VALUES (NULL, '张一'), (NULL, '张二'), (NULL, '张三');

Node.js中调用mysql存储过程示例

3、创建存储过程(写的很冗余,故意的… 正好学习一下语法>_<);

复制代码 代码如下:
DELIMITER $$
DROP PROCEDURE IF EXISTS `test`.`proc_simple`$$
CREATE PROCEDURE proc_simple(IN uid INT(10), OUT uName VARCHAR(2), OUT totalCount INT)
BEGIN

DECLARE str_name VARCHAR(20);

SET @str_name = '';
SET totalCount = 0;
        SELECT COUNT(1),userName INTO totalCount,@str_name FROM user_info WHERE userId = uid;       
        SET uName = @str_name;
        SELECT uName, totalCount;
       
    END$$
DELIMITER ;

4、写程序进行调用(假定存为名为sql.js的文件);

复制代码 代码如下:
/**
 * Created with JetBrains WebStorm.
 * User: Meteoric_cry
 * Date: 12-12-28
 * Time: 上午00:18
 * To change this template use File | Settings | File Templates.
 */
var mysql = require('mysql');

var connection = mysql.createConnection({
    host : 'localhost',
    port : 3306,
    user : 'root',
    password : '123456',
    database : 'test',
    charset : 'UTF8_GENERAL_CI',
    debug : false
});

connection.connect();

connection.query('CALL proc_simple(1, @a, @b);', function(err, rows, fields) {
    if (err) {
       throw err;
    }

    var results = rows[0];
    var row = results[0];
    console.log("userName:",row.uName, "  count:", row.totalCount);
});

connection.end();

5、运行示例程序;

Node.js中调用mysql存储过程示例

标签:
nodejs,调用mysql存储过程

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com

评论“Node.js中调用mysql存储过程示例”

暂无“Node.js中调用mysql存储过程示例”评论...

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?