存储过程是一条或多条sql语句集合,有以下一些特点:
- 存储过程能实现较快的执行速度。
- 存储过程可以用流程控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。
- 存储过程可被作为一种安全机制来充分利用。
- 存储过程能够减少网络流量
delimiter 分隔符
create procedure|proc proc_name()
begin
sql语句
end 分隔符
delimiter ;--还原分隔符,为了不影响后面的语句的使用
--默认的分隔符是;但是为了能在整个存储过程中重用,因此一般需要自定义分隔符(除\外)
show procedure status like ""; --查询存储过程,可以不适用like进行过滤
drop procedure if exists;--删除存储过程
存储过程和函数是事先经过编译并存储在数据库中的一段 SQL 语句的集合;
调用存储过程和函数可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。
相同点
- 存储过程和函数都是为了可重复的执行操作数据库的 SQL 语句的集合。
- 存储过程和函数都是一次编译后缓存起来,下次使用就直接命中已经编译好的 sql 语句,减少网络交互提高了效率。
不同点
- 标识符不同,函数的标识符是 function,存储过程是 procedure。
- 函数返回单个值或者表对象,而存储过程没有返回值,但是可以通过OUT参数返回多个值。
- 函数限制比较多,比如不能用临时表,只能用表变量,一些函数都不可用等,而存储过程的限制相对就比较少。
- 一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强
- 函数的参数只能是 IN 类型,存储过程的参数可以是IN OUT INOUT三种类型。
- 存储函数使用 select 调用,存储过程需要使用 call 调用。
文章结束。
最后修改时间:2021-11-05 18:50:23
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




