新聞中心

為太谷等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及太谷網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站制作、太谷網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
存儲過程通過 CALL 語句來調(diào)用,存儲函數(shù)的使用方法與 mysql 內(nèi)部函數(shù)的使用方法相同。執(zhí)行存儲過程和存儲函數(shù)需要擁有 EXECUTE 權(quán)限(EXECUTE 權(quán)限的信息存儲在 information_schema 數(shù)據(jù)庫下的 USER_PRIVILEGES 表中)。
本節(jié)主要講解如何調(diào)用存儲過程和存儲函數(shù)。
調(diào)用存儲過程
MySQL 中使用
CALL 語句來調(diào)用存儲過程。調(diào)用存儲過程后,數(shù)據(jù)庫系統(tǒng)將執(zhí)行存儲過程中的 SQL 語句,然后將結(jié)果返回給輸出值。
CALL 語句接收存儲過程的名字以及需要傳遞給它的任意參數(shù),基本語法形式如下:
CALL sp_name([parameter[...]]);
其中,sp_name 表示存儲過程的名稱,parameter 表示存儲過程的參數(shù)。
例 1
下面調(diào)用《MySQL創(chuàng)建存儲過程》一節(jié)中創(chuàng)建的存儲過程,SQL 語句和執(zhí)行過程如下:
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)
因為存儲過程實際上也是一種函數(shù),所以存儲過程名后需要有
( )符號,即使不傳遞參數(shù)也需要。
調(diào)用存儲函數(shù)
在 MySQL 中,存儲函數(shù)的使用方法與 MySQL 內(nèi)部函數(shù)的使用方法是一樣的。換言之,用戶自己定義的存儲函數(shù)與 MySQL 內(nèi)部函數(shù)是一個性質(zhì)的。區(qū)別在于,存儲函數(shù)是用戶自己定義的,而內(nèi)部函數(shù)是 MySQL 開發(fā)者定義的。
例 2
下面調(diào)用《MySQL創(chuàng)建存儲函數(shù)》一節(jié)中創(chuàng)建的存儲函數(shù),SQL 語句和執(zhí)行過程如下:
mysql> SELECT func_student(3); +-----------------+ | func_student(3) | +-----------------+ | 王五 | +-----------------+ 1 row in set (0.10 sec)
通過例 1 和例 2 的比較,可以看出雖然存儲函數(shù)和存儲過程的定義稍有不同,但它們都可以實現(xiàn)相同的功能,我們應(yīng)該在實際應(yīng)用中靈活選擇。
文章標(biāo)題:MySQL調(diào)用存儲過程和函數(shù)
URL網(wǎng)址:http://fisionsoft.com.cn/article/djjhjej.html


咨詢
建站咨詢
