這篇文章主要介紹了MYSQL中存儲過程與函數的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
一、模式
二、存儲過程與存儲函數
語法如下:
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(‘hello, ’ ,t, ‘!’);
//
mysql> delimiter ;
mysql> select hello(‘world’);
感謝你能夠認真閱讀完這篇文章,希望小編分享的“MYSQL中存儲過程與函數的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。