mysql存儲過程的概念:
存儲在數據庫當中可以執行特定工作(查詢和更新)的一組sql代碼的程序段。
mysql函數的概念:
函數是完成特定功能的SQL語句,函數分為內置函數和自定義函數(user-defined function UDF)
MySQL存儲過程和函數的區別
- 存儲過程可以有多個in,out,inout參數,而函數只有輸入參數類型,而且不能帶in.
- 存儲過程實現的功能要復雜一些;而函數的單一功能性(針對性)更強。
- 存儲過程可以返回多個值;存儲函數只能有一個返回值。
- 存儲過程一般獨立的來執行;而存儲函數可以作為其它sql語句的組成部分來出現。
- 存儲過程可以調用存儲函數。函數不能調用存儲過程。
存儲過程是為了完成特定功能的sql語句集,經編譯創建并保存在數據庫中。思想就是數據庫sql語言層面的代碼封裝與重用。
注:in指輸入參數,out指輸出參數
創建自定義function
語法格式:create 函數名(參數 類型,參數 類型…) returns 類型 return 表達式值;
注:1.參數可以沒有,或者有多個。
2.必須有返回值,且只有一個。
3.如果有SQL語句的話要放在begin…end中間。
4.不加determministic會報錯(不知道咋解決)
begin…end復合語句
通常出現在存儲過程、函數和觸發器中,其中可以包含一個或多個語句,每個語句用;隔開。
相關學習推薦:mysql教程
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END