1. 程式人生 > 資料庫 >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複合語句

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。