Node.js_node.js での mysql ストアド プロシージャの呼び出し例

WBOY
リリース: 2016-05-16 16:25:28
オリジナル
2718 人が閲覧しました

この例は Windows でのみテストされており、Linux ではテストされていません。ご質問がございましたら、メールでお問い合わせください~

1.ここでは省略したnode.jsとmysqlをインストールします(自分で探してください)…;

2. test という名前のデータベースを作成し、次に user_info という名前のテーブルを作成します (テスト専用)...

mysql で使用されるユーザー名は root、パスワードは 123456 であると仮定します

対応する mysql は次のとおりです:


コードをコピー コードは次のとおりです:
/**
* test
という名前のデータベースを作成します*/
存在する場合はデータベースを削除テスト;
データベース作成テスト;
使用テスト;

/**
* user_info テーブルを作成します
*/
`user_info` が存在する場合はテーブルを削除します;
CREATE TABLE `user_info` (

`userId` int(10) NOT NULL AUTO_INCREMENT,
`userName` varchar(20) DEFAULT NULL,
主キー (`userId`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

/**

* 3 つのレコードを挿入
*/
INSERT INTO user_info VALUES (NULL, 'Zhang Yi'), (NULL, 'Zhang Er'), (NULL, 'Zhang San');

3. ストアド プロシージャを作成します (構文を学ぶのに合わせて、意図的に非常に冗長に記述されています)

コードをコピーします コードは次のとおりです:
区切り文字 $$
存在する場合はプロシージャを削除 `test`.`proc_simple`$$
CREATE PROCEDURE proc_simple(IN uid INT(10), OUT uName VARCHAR(2), OUT totalCount INT)
始めてください
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;

終了$$
区切り文字 ;


4. 呼び出すプログラムを作成します (sql.js という名前のファイルとして保存されていると仮定します)。

コードをコピーします コードは次のとおりです: /**
 * JetBrains WebStorm で作成されました。
 * ユーザー: Meteoric_cry
 *日付: 12-12-28
 * 時刻: 上午00:18
 * このテンプレートを変更するには、ファイル | を使用します。設定 |ファイルテンプレート。
 */
var mysql = require('mysql');

var connection = mysql.createConnection({
ホスト: 'localhost', ポート: 3306、

ユーザー: 'root'、
パスワード : '123456',
データベース: 'テスト'、
文字セット: 'UTF8_GENERAL_CI',
デバッグ: false
});

connection.connect();

connection.query('CALL proc_simple(1, @a, @b);', function(err, rows, field) {

(エラー) {

の場合 エラーを投げます;

}

var results = rows[0];
var row = 結果[0];

console.log("userName:",row.uName, "count:", row.totalCount);

});

connection.end();


5. サンプル プログラムを実行します。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート