mysql存儲過程的概念:
存儲在數據庫當中可以執(zhí)行特定工作(查詢和更新)的一組SQL代碼的程序段。
mysql函數的概念:
函數是完成特定功能的SQL語句,函數分為內置函數和自定義函數(user-defined function UDF)
MySQL存儲過程和函數的區(qū)別
- 存儲過程可以有多個in,out,inout參數,而函數只有輸入參數類型,而且不能帶in.
- 存儲過程實現的功能要復雜一些;而函數的單一功能性(針對性)更強。
- 存儲過程可以返回多個值;存儲函數只能有一個返回值。
- 存儲過程一般獨立的來執(zhí)行;而存儲函數可以作為其它sql語句的組成部分來出現。
- 存儲過程可以調用存儲函數。函數不能調用存儲過程。
存儲過程是為了完成特定功能的sql語句集,經編譯創(chuàng)建并保存在數據庫中。思想就是數據庫sql語言層面的代碼封裝與重用。
注:in指輸入參數,out指輸出參數
創(chuàng)建自定義function
語法格式:create 函數名(參數 類型,參數 類型...) returns 類型 return 表達式值;
注:1.參數可以沒有,或者有多個。
2.必須有返回值,且只有一個。
3.如果有SQL語句的話要放在begin...end中間。
4.不加determministic會報錯(不知道咋解決)
begin...end復合語句
通常出現在存儲過程、函數和觸發(fā)器中,其中可以包含一個或多個語句,每個語句用;隔開。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- MYSQL的存儲過程和函數簡單寫法
- MySQL存儲過程中的基本函數和觸發(fā)器的相關學習教程
- MySql存儲過程與函數詳解
- Mysql存儲過程和函數區(qū)別介紹
- mysql 導入導出數據庫以及函數、存儲過程的介紹
- 深入mysql創(chuàng)建自定義函數與存儲過程的詳解
- mysql 查詢數據庫中的存儲過程與函數的語句
- mysql中存儲過程、函數的一些問題