15.存储过程

1.简介
存储过程(Stored Procedure)是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中, 用户可通过指定存储过程的名字并给定参数来调用执行,类似于编程语言中的方法或函数。

2.优点
复用性:存储过程是对SQL语句的封装,支持接收参数,并返回运算结果,可增强复用性。
逻辑性:存储过程可以隐藏复杂的业务逻辑、商业逻辑。

3.缺点
可移植性:存储过程的可移植性较差,如果更换数据库,要重写存储过程。
可扩展性:存储过程难以调试和扩展。

4.语法

#存储过程定义
delimiter //
create procedure procedureName(入参,出参)
begin
   存储过程;
end
// 
delimiter ;

#存储过程调用
call procedureName(入参,出参);

5.存储过程示例:求两数之和

delimiter //
create procedure my_sum(in a int, in b int, out result int) 
begin
   set result = a + b; 
end
// 
delimiter ;

call my_sum(10, 20, @result); 
select @result;

在这里插入图片描述

6.存储过程示例:计算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 ;

call my_n_sum(10, @result); 
select @result;

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Jgx1214/article/details/107496197