程序和function与日常的区别?

在MySQL数据库上下文中,这三个术语有什么区别:

  • 存储过程;
  • stored procedures;
  • 存储function。

PS那些date时间函数的build-in函数, weekday()被认为是什么?

Google是你的朋友。 “mysql routine function procedure”的第一个匹配是: http : //dev.mysql.com/doc/refman/5.0/en/stored-routines-syntax.html

快速总结:

存储的例程是一个过程或一个函数。

使用CALL语句调用过程,只能使用输出variables传回值。

就像其他函数一样,函数可以从一个语句中调用,并且可以返回一个标量值。

在这里我试图总结一下函数和程序之间的区别。

  1. 函数总是使用return语句返回一个值。 PROCEDURE可能通过参数返回一个或多个值,或者根本不返回任何值。
  2. 函数通常用于计算,而程序通常用于执行业务逻辑。
  3. 函数只返回1值。 过程可以返回多个值(最多1024个)。
  4. 存储过程默认情况下始终返回零整数值。 函数返回types可以是标量或表或表值。
  5. 存储过程有一个预编译的执行计划,其中函数不是。
  6. 一个函数可以通过SQL语句直接调用,如从双selectfunc_name,而过程不能。
  7. 存储过程具有安全性,减less了networkingstream量,我们也可以调用存储过程。 一次申请。
  8. 一个函数可以在SQL查询中使用,而一个过程不能在SQL查询中使用,这会导致b / w函数和过程有很大的不同。

MySQL函数和mysql程序的区别

MYSQL函数

它必须返回值。 INOUTINOUT不能在函数中使用,但是在创build函数时必须声明返回数据types。 函数可以从一个SQL语句中调用。 函数返回一个值。

MYSQL程序

返回值不是强制性的,但可以使用OUT参数来返回过程。 可以使用IN | OUT | INOUT参数。 过程不能从SQL语句中调用。 过程通过使用OUTINOUT参数返回多个值。

函数必须返回一个值,但是在存储过程中它是可选的(过程可以返回零或n值)。 函数只能有input参数,而程序可以有input/输出参数。 函数可以从程序调用,而程序不能从函数调用。