本节目标
1.了解什么是存储过程
2.掌握存储过程的基本使用【重点】
什么是存储过程
Stored Procedure 是为了完成特定功能的SQL语句集,经
【编译创建】并保存在数据库中,用户可通过指定存储过程的名字给定
参数(需要时)来调用执行,类似于编程语言中的方法或函数。
存储过程的优点:
1.存储过程是对SQL语句的封装,增强可复用性
2.存储过程可以隐藏复杂的业务逻辑、商业逻辑
3.存储过程支持接收参数,并返回运算结果
存储过程的缺点:
1.存储过程的可移植性较差,如果更换数据库,要重写存储过程
2.存储过程难以调试和扩展
3.无法使用Explain对存储过程进行分析
4.《阿里巴巴JAVA开发手册》中禁止使用存储过程
但是记住一句话,阿里不用,其他公司不一定不用,技多不压身。
存储过程定义:求两数之和
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;
示例:计算1+2+...+n的和
delimiter //
create procedure my_n_sum(in n int