首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储过程、函数和例程之间有什么区别?

存储过程、函数和例程之间有什么区别?
EN

Stack Overflow用户
提问于 2010-04-21 14:23:02
回答 5查看 54.6K关注 0票数 78

在MySQL数据库环境中,这3个术语有什么区别:

存储的procedure

  • stored function

  • stored例程

还有,像日期、时间这样的内置函数(例如WEEKDAY()等)被认为是什么?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-04-21 14:59:06

谷歌是你的朋友。"mysql例程函数过程“的第一个匹配项是:http://dev.mysql.com/doc/refman/5.0/en/stored-routines-syntax.html

快速总结:

存储例程可以是过程,也可以是函数。

过程使用CALL语句调用,并且只能使用output变量传回值。

函数可以像任何其他函数一样从语句内部调用,并且可以返回标量值。

票数 89
EN

Stack Overflow用户

发布于 2014-07-25 19:27:13

在这里,我尝试总结函数和过程之间的区别:

  1. 函数总是使用RETURN语句返回值。过程可以通过参数返回一个或多个值,也可以根本不返回任何值。
  2. 函数通常用于计算,而as过程通常用于执行业务逻辑。
  3. 函数仅返回1个值。过程可以返回多个值(最大1024)。默认情况下,
  4. 存储过程始终返回一个为零的整数值。而函数返回类型可以是标量、表值或表值。
  5. 存储过程具有预编译的执行计划,而as函数则没有。在procedure cannot.
  6. Stored procedure具有安全性和减少网络流量的同时,
  7. A函数可以直接由SELECT func_name FROM DUAL等SQL语句调用,并且可以同时在任意多个应用程序中调用存储过程,
  8. A函数可以在SQL查询中使用,而过程不能在SQL查询中使用。这导致了函数和过程之间的主要区别。
票数 55
EN

Stack Overflow用户

发布于 2012-03-14 18:04:10

MySQL函数与mysql过程的区别

MYSQL函数

它必须返回值。不能在function.But中使用INOUTINOUT返回数据类型在创建函数时必须声明。函数可以从SQL语句中调用。函数返回一个值。

MYSQL过程

返回值不是必需的,但可以使用OUT参数进行过程返回。可以使用IN | OUT | INOUT参数。不能从SQL语句调用过程。过程使用OUTINOUT参数返回多个值。

票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2680745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档