视图是存储的逻辑上的结果,存储过程是存储的操作方法
存储过程
含义:一组预先编译好的sql语句的集合,理解成批处理语句
一、创建语法
create procedure 存储过程名(参数列表)
begin
存储过程体
end
注意:
- 参数列表包含三部分:参数模式、参数名、参数类型
- 参数模式:in:该参数作为输入,即需要调用方传入值;out:该参数作为输出,即可以作为返回值;inout:既需要传入,又可以作为返回值
- 如果存储过程体只有一句话,begin end可以省略
- 存储过程体中每条sql语句的结尾必须加分号必须加分号。存储过程的结尾可以使用delimiter重新设置
delimiter 自己定义的结束标记
二、调用语法
call 存储过程名(实参列表)自定义的结束标记;
当参数模式中有out类型时
方法一
set @参数名 自定义的结束标记 #先提前自定义一个参数
call 存储过程名(实参列表)自定义的结束标记
方法二
call 存储过程名(实参列表)自定义的结束标记
#在这个实参列表中使用@参数名
当参数模式中有inout类型时
set @参数名 自定义的结束标记 #先提前自定义一个参数
call 存储过程名(实参列表)自定义的结束标记
一定要先定义变量值,若直接在调用的时候使用常量,则返回值无法输出
三、删除存储过程
drop procedure 存储过程名
一次只能删除一个
四、查看存储过程
show create procedure 存储过程名;
函数
含义:一组预先编译好的sql语句的集合,理解成批处理语句
区别:
- 存储过程可以有0个返回或多个返回;函数有且仅有1个返回
- 函数适合做批量插入、批量更新;函数适合处理数据后返回一个结果
一、创建语法
create function 函数名(参数列表)returns 返回类型
begin
函数体
end
注意
- 参数列表包含两部分:参数名、参数类型
- 函数体肯定有return语句且在最后一句
- 如果函数体只有一句话,begin end可以省略
- 使用delimiter语句设置结束标记
二、调用语法
select 函数名(参数列表)
三、查看函数
show create function 函数名;
四、删除函数
drop function 函数名;