意義:一組預先編譯好的SQL語句的集合,可以理解成批次語句
#:
簡化操作
#減少了編譯次數並且減少了和資料庫伺服器的連接次數,提高了效率
:可以有0個返回,也可以有多個返回,適合做批次插入、批次更新函數
:有且僅有1 個返回,適合做處理資料後返回一個結果DELIMITER $ CREATE FUNCTION 函数名(参数列表) RETURNS 返回类型 BEGIN 函数体 END$ DELIMITER ;
注意
:#參數清單包含兩部分: 參數名稱參數類型
return
語句,沒有會報錯 使用delimiter 語句設定結束標記----------2. 呼叫
SELECT 函数名(参数列表)函數使用由於函數是有回傳值的,所以使用select是可以印出這個值的。
==========
二、案例示範1. 無參有回傳函數# 案例:傳回學生表的總個數
1.1 建立函數
DELIMITER $ CREATE FUNCTION myFun1() RETURNS INT BEGIN DECLARE num INT DEFAULT 0; #定义一个变量 SELECT COUNT(*) INTO num #赋值 FROM student; RETURN num; #返回值 END $ DELIMITER ;
#好後需要執行以下進行編譯
1.2 呼叫函數
SELECT myFun1();
----------
案例:根據學生名稱返回分數
2.1 建立函數
DELIMITER $ CREATE FUNCTION myFun2(stuName VARCHAR(20)) RETURNS INT BEGIN DECLARE grade INT DEFAULT 0; #定义变量 SELECT s.grade INTO grade #赋值 FROM student s WHERE s.name = stuName; RETURN grade; #返回 END $ DELIMITER ;2.2 呼叫
SELECT myFun2('盖伦');
SHOW CREATE FUNCTION myFun1;
#四、刪除函數
DROP FUNCTION myFun2;
本文解釋了Mysql函數的相關內容,更多相關推薦請關注php中文網。 相關推薦:
以上是Mysql函數 的相關解說的詳細內容。更多資訊請關注PHP中文網其他相關文章!