MySQL - 28存储过程的基本使用
程序员文章站
2022-04-14 20:40:05
...
什么是存储过程
存储过程(Stored Procedure)是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中, 用户可通过指定存储过程的名字并给定参数(需要时)来调用执行,类似于编程语言中的方法或函数。
存储过程的优点:
- 存储过程是对SQL语句的封装,增强可复用性
- 存储过程可以隐藏复杂的业务逻辑、商业逻辑
- 存储过程支持接收参数,并返回运算结果
存储过程的缺点:
- 存储过程的可移植性较差,如果更换数据库,要重写存储过程
- 存储过程难以调试和扩展
- 无法使用Explain对存储过程进行分析
- 《阿里巴巴Java开发手册》中禁止使用存储过程
存储过程示例:求两数之和
存储过程示例:计算1+2+…+n的和
#存储过程定义:计算1+2+...+n的和
delimiter //
create procedure my_n_sum(in n int, out result int)
begin
declare i int default 1;
declare sum int default 0;
while i<=n do
set sum = sum + i;
set i = i + 1;
end while;
set result = sum;
end;
// delimiter ;
实战案例
mysql> delimiter //
mysql> create procedure my_sum(in a int, in b int, out result int) begin set result = a + b; end//
Query OK, 0 rows affected (0.03 sec)
mysql> call my_sum(10, 20, @result); select @result//
Query OK, 0 rows affected (0.00 sec)
+---------+
| @result |
+---------+
| 30 |
+---------+
1 row in set (0.00 sec)
上一篇: php发送邮件代码
下一篇: css3之outline属性