共計 1638 個字符,預計需要花費 5 分鐘才能閱讀完成。
這篇文章主要講解了“mysql 中如何調用存儲過程”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“mysql 中如何調用存儲過程”吧!
在 mysql 中,可以使用 CALL 語句來調用存儲過程,該語句接收存儲過程的名字以及需要傳遞給它的任意參數,語法為“CALL sp_name([parameter[…]]);”。
本教程操作環境:windows7 系統、mysql8 版本、Dell G3 電腦。
調用存儲過程
MySQL 中使用 CALL 語句來調用存儲過程。調用存儲過程后,數據庫系統將執行存儲過程中的 SQL 語句,然后將結果返回給輸出值。
CALL 語句接收存儲過程的名字以及需要傳遞給它的任意參數,基本語法形式如下:
CALL sp_name([parameter[...]]);
其中,sp_name 表示存儲過程的名稱,parameter 表示存儲過程的參數。
示例 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 中如何調用存儲過程這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!