Skip to content

Latest commit

 

History

History
34 lines (20 loc) · 1.44 KB

File metadata and controls

34 lines (20 loc) · 1.44 KB

存储过程和函数的概述

存储过程和存储函数都属于 MySQL 中的可编程对象。它们可以把多条 SQL 和业务逻辑封装起来,减少重复代码,提高复用性,并把一部分处理逻辑放在数据库内部执行。

什么是存储过程和函数

存储过程(Stored Procedure)是保存在数据库中的一组 SQL 语句集合,可以被显式调用执行。

例如,用户开户、订单结算、批量更新等操作,如果涉及多条 SQL,就可以封装成存储过程。

存储函数(Stored Function)则更像一个“可返回值的函数”,通常接收参数并返回一个结果,常用于表达式计算和查询中。

简单理解:

  • 存储过程更像“执行一段流程”
  • 存储函数更像“根据输入返回一个值”

存储过程和函数的区别

它们的主要区别包括:

  1. 存储过程使用 CALL 调用,存储函数可以直接写在表达式里。
  2. 存储过程可以没有返回值,也可以通过参数返回多个结果;存储函数必须有返回值。
  3. 存储过程更适合封装业务流程;存储函数更适合封装可复用计算逻辑。

例如:

  • “创建订单并记录日志”更适合存储过程
  • “根据成绩返回等级”更适合存储函数

小结

如果你的目标是封装一系列操作流程,优先考虑存储过程;如果你的目标是返回一个可复用的计算结果,优先考虑存储函数。