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

2021-06-27 02:28:05 字數 506 閱讀 1742

語法定義上的區別就不說了,說一下其他的。如果有不正確的地方,還請大家指正。

1、總述

儲存函式和儲存過程統稱為儲存例程(stored routine)。兩者的定義語法很相似,但卻是不同的內容。

儲存函式限制比較多,比如不能用臨時表,只能用表變數。還有一些函式都不可用等等。而儲存過程的限制相對就比較少。

一般來說,儲存過程實現的功能要複雜一點,而函式的實現的功能針對性比較強。

2、返回值上的不同

儲存函式將向呼叫者返回乙個且僅返回乙個結果值。

儲存過程將返回乙個或多個結果集(函式做不到這一點),或者只是來實現某種效果或動作而無需返回值。

3、呼叫方式上的不同

儲存函式嵌入在sql中使用的,可以在select中呼叫,就像內建函式一樣,比如cos()、hex()

儲存過程只能通過call語句進行呼叫

4、引數的不同

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

儲存過程的引數型別有三種、in引數、out引數、inout引數

MySql儲存過程與儲存函式

在開發過程種常常會重複使用某些sql語句,為此mysql sdsd 先建立乙個表 create table user insert user username,password values jacklove qqqqqq insert user username,password values u...

MYSQL儲存過程與函式

二 儲存過程與儲存函式 語法如下 create procedure sp name proc parameter characteristic routine body create function sp name func parameter returns type characteristi...

MYSQL儲存過程與函式

二 儲存過程與儲存函式 語法如下 create procedure sp name proc parameter characteristic routine body create function sp name func parameter returns type characteristi...