MySQL儲存函式和儲存過程的區別

2021-08-11 04:04:17 字數 546 閱讀 2942

儲存過程與儲存函式的區別

1:儲存函式和儲存過程統稱為儲存例程(store routine),儲存函式的限制比較多,例如不能用臨時表,只能用表變數,而儲存過程的限制較少,儲存過程的實現功能要複雜些,而函式的實現功能針對性比較強

2:返回值不同

儲存函式必須有返回值,且僅返回乙個結果值

儲存過程可以沒有返回值,但是能返回結果集(out,inout)

3:呼叫時的不同

儲存函式嵌入在sql中使用,可以在select 儲存函式名(變數值);

儲存過程通過call語句呼叫 call 儲存過程名

4:引數的不同

儲存函式的引數型別類似於in引數

儲存過程的引數型別有三種

1: in 資料只是從外部傳入內部使用(值傳遞),可以是數值也可以是變數

2: out 只允許過程內部使用(不用外部資料),給外部使用的(引用傳遞:外部的資料會被先清空才會進入到內部),只能是變數

3: inout 外部可以在內部使用,內部修改的也可以給外部使用,典型的引用 傳遞,只能傳遞變數

MySQL儲存過程和儲存函式

儲存過程和儲存函式 mysql的儲存過程 stored procedure 和函式 stored function 統稱為stored routines。1.儲存過程和函式的區別 函式只能通過return語句返回單個值或者表物件。而儲存過程不允許執行return,但是通過out引數返回多個值。函式是...

Mysql 儲存過程和函式

一 儲存過程 procedure 本質上沒區別,執行的本質都一樣。只是函式有如 只能返回乙個變數的限制。而儲存過程可以返回多個。函式是可以嵌入在sql中使用的,可以在select中呼叫,而儲存過程要讓sql的query 可以執行,需要把 mysql real connect 的最後乙個引數設定為cl...

mysql儲存過程和函式

儲存過程是一系列sql語句集,具有靈活性,速度快,批處理 安全等特點 缺點 程式設計複雜 需要建立資料庫物件的許可權 掌握儲存過程的定義 檢視 修改 刪除 定義儲存過程 create procedure pro name parameter type characteristic routine b...