>  기사  >  데이터 베이스  >  mysql에서 저장 프로시저를 호출하는 방법

mysql에서 저장 프로시저를 호출하는 방법

青灯夜游
青灯夜游원래의
2022-01-24 16:45:2712558검색

mysql에서는 CALL 문을 사용하여 저장 프로시저를 호출할 수 있습니다. 이 문은 저장 프로시저의 이름과 여기에 전달되어야 하는 매개변수를 받습니다. 구문은 "CALL sp_name([parameter[... ]]);".

mysql에서 저장 프로시저를 호출하는 방법

이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.

저장 프로시저 호출

CALL 문은 MySQL에서 저장 프로시저를 호출하는 데 사용됩니다. 저장 프로시저가 호출되면 데이터베이스 시스템은 저장 프로시저의 SQL 문을 실행하고 그 결과를 출력 값으로 반환합니다.

CALL 문은 저장 프로시저의 이름과 여기에 전달되어야 하는 매개 변수를 받습니다. 기본 구문은 다음과 같습니다.

CALL sp_name([parameter[...]]);

여기서 sp_name은 저장 프로시저의 이름을 나타내고 매개 변수는 저장 프로시저.

예제 1:

저장 프로시저 생성

  • ShowStuScore라는 저장 프로시저를 생성합니다. 저장 프로시저의 기능은 학생 성적 정보 테이블에서 학생의 성적 정보를 쿼리하는 것입니다

mysql> DELIMITER //
mysql> CREATE PROCEDURE ShowStuScore()
    -> BEGIN
    -> SELECT * FROM tb_students_score;
    -> END //
Query OK, 0 rows affected (0.09 sec)

결과. ShowStuScore 저장 프로시저가 성공적으로 생성되었습니다.

  • GetScoreByStu라는 저장 프로시저를 생성합니다. 입력 매개변수는 학생의 이름입니다. 저장 프로시저의 기능은 입력된 학생 이름

mysql> DELIMITER //
mysql> CREATE PROCEDURE GetScoreByStu
    -> (IN name VARCHAR(30))
    -> BEGIN
    -> SELECT student_score FROM tb_students_score
    -> WHERE student_name=name;
    -> END //
Query OK, 0 rows affected (0.01 sec)

저장 프로시저 호출

  • ShowStuScore 및 GetScoreByStu

  • 이라는 저장 프로시저를 호출하여 학생 성적 정보 테이블에서 해당 학생의 성적 정보를 조회하는 기능입니다.
mysql> DELIMITER ;
mysql> CALL ShowStuScore();
+--------------+---------------+
| student_name | student_score |
+--------------+---------------+
| Dany         |            90 |
| Green        |            99 |
| Henry        |            95 |
| Jane         |            98 |
| Jim          |            88 |
| John         |            94 |
| Lily         |           100 |
| Susan        |            96 |
| Thomas       |            93 |
| Tom          |            89 |
+--------------+---------------+
10 rows in set (0.00 sec)
Query OK, 0 rows affected (0.02 sec)

mysql> CALL GetScoreByStu('Green');
+---------------+
| student_score |
+---------------+
|            99 |
+---------------+
1 row in set (0.03 sec)
Query OK, 0 rows affected (0.03 sec)

저장 프로시저는 실제로 함수이므로 매개 변수가 전달되지 않더라도 저장 프로시저 이름 뒤에 () 기호가 있어야 합니다.

【관련 추천: mysql 비디오 튜토리얼

위 내용은 mysql에서 저장 프로시저를 호출하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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