解析MySQL存儲過程、常用函數代碼

解析MySQL存儲過程、常用函數代碼

mysql存儲過程的概念:

存儲在數據庫當中可以執行特定工作(查詢和更新)的一組sql代碼的程序段。

mysql函數的概念:

函數是完成特定功能的SQL語句,函數分為內置函數和自定義函數(user-defined function UDF)

MySQL存儲過程和函數的區別

  • 存儲過程可以有多個in,out,inout參數,而函數只有輸入參數類型,而且不能帶in.
  • 存儲過程實現的功能要復雜一些;而函數的單一功能性(針對性)更強。
  • 存儲過程可以返回多個值;存儲函數只能有一個返回值。
  • 存儲過程一般獨立的來執行;而存儲函數可以作為其它sql語句的組成部分來出現。
  • 存儲過程可以調用存儲函數。函數不能調用存儲過程。

存儲過程是為了完成特定功能的sql語句集,經編譯創建并保存在數據庫中。思想就是數據庫sql語言層面的代碼封裝與重用。

注:in指輸入參數,out指輸出參數

解析MySQL存儲過程、常用函數代碼

創建自定義function

語法格式:create 函數名(參數 類型,參數 類型…) returns 類型 return 表達式值;

注:1.參數可以沒有,或者有多個。

  2.必須有返回值,且只有一個。

  3.如果有SQL語句的話要放在begin…end中間。

  4.不加determministic會報錯(不知道咋解決)

解析MySQL存儲過程、常用函數代碼

begin…end復合語句

通常出現在存儲過程、函數和觸發器中,其中可以包含一個或多個語句,每個語句用;隔開。

相關學習推薦:mysql教程

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享