共計 1156 個字符,預計需要花費 3 分鐘才能閱讀完成。
這篇文章主要介紹了 MYSQL 中存儲過程與函數的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。
一、模式
二、存儲過程與存儲函數
語法如下:
CREATE PROCEDURE sp_name ([proc_parameter[,…]])
[characteristic …] routine_body
CREATE FUNCTION sp_name ([func_parameter[,…]])
RETURNS type
[characteristic …] routine_body
proc_parameter:
[IN | OUT | INOUT] param_name type
func_parameter:
param_name type
type:
Any valid MySQL data type
characteristic:
LANGUAGE SQL
| [NOT] DETERMINISTIC
| {CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA}
| SQL SECURITY {DEFINER | INVOKER}
| COMMENT string
routine_body:
Valid SQL procedure statement or statements
例如:存儲過程
use test;
mysql delimiter // ### 定義 // 為語句開始執行符號
mysql create procedure simpleproc(out param1 int)
begin
select count(*) into param1 from t;
end
//
mysql delimiter ; #### 重新定義; 為語句開始執行的符號
mysql call simpleproc(@a);
mysql select @a; ####a 為一個變量
+——+
| @a |
+——+
| 1 |
+——+
區別:過程只處理一件事,并無返回值,但可以通過出口參數 param1 來返回處理后的值; 而存儲函數可以返回值
例如:存儲函數
1. 字符串拼接函數 hello()
mysql use test;
mysql delimiter //
mysql create function hello (t char(20)) returns char(50)
return concat(lsquo;hello, rsquo; ,t, lsquo;! rsquo;);
//
mysql delimiter ;
mysql select hello(lsquo;world rsquo;);
感謝你能夠認真閱讀完這篇文章,希望丸趣 TV 小編分享的“MYSQL 中存儲過程與函數的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持丸趣 TV,關注丸趣 TV 行業資訊頻道,更多相關知識等著你來學習!