>  기사  >  웹 프론트엔드  >  Node.js_node.js에서 mysql 저장 프로시저를 호출하는 예

Node.js_node.js에서 mysql 저장 프로시저를 호출하는 예

WBOY
WBOY원래의
2016-05-16 16:25:282714검색

이 예제는 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`)
) 엔진=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

/**

* 3개의 레코드 삽입
*/
INSERT INTO user_info VALUES (NULL, 'Zhang Yi'), (NULL, 'Zhang Er'), (NULL, 'Zhang San');

3. 저장 프로시저를 만듭니다(의도적으로 매우 중복하여 작성했습니다... 구문을 배우기에 딱 좋습니다>_<

코드 복사 코드는 다음과 같습니다.
DELIMITER $$
`test`.`proc_simple`$$
이 있으면 절차 삭제 프로시저 생성 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;
                             
END$$
구분 기호 ;

4. 호출할 프로그램을 작성합니다(sql.js라는 파일로 저장된다고 가정).

/**
 * JetBrains WebStorm으로 제작되었습니다.
 * 사용자: Meteoric_cry
 * 일시 : 12-12-28
 * 시간: 上午00:18
 * 이 템플릿을 변경하려면 파일 | 설정 | 파일 템플릿.
 */
var mysql = require('mysql');

var 연결 = mysql.createConnection({ 호스트 : 'localhost',

포트: 3306,
사용자: 'root',
비밀번호 : '123456',
데이터베이스 : 'test',
문자셋: 'UTF8_GENERAL_CI',
디버그 : 거짓
});

connection.connect();

connection.query('CALL proc_simple(1, @a, @b);', function(err, 행, 필드) {

만약 (오류) {

         오류를 던졌습니다.
}

var 결과 = 행[0];

var 행 = 결과[0];

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

connection.end();


5. 샘플 프로그램을 실행합니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.