MYSQL中存储过程与函数的示例分析
这篇文章主要介绍了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中存储过程与函数的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341