CALL sp_name([parameter[...]]);
其中,sp_name 表示儲存過程的名稱,parameter 表示儲存過程的引數。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> SELECT func_student(3); +-----------------+ | func_student(3) | +-----------------+ | 王五 | +-----------------+ 1 row in set (0.10 sec)通過例 1 和例 2 的比較,可以看出雖然儲存函數和儲存過程的定義稍有不同,但它們都可以實現相同的功能,我們應該在實際應用中靈活選擇。