程序和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传回值。
就像其他函数一样,函数可以从一个语句中调用,并且可以返回一个标量值。
在这里我试图总结一下函数和程序之间的区别。
- 函数总是使用return语句返回一个值。 PROCEDURE可能通过参数返回一个或多个值,或者根本不返回任何值。
- 函数通常用于计算,而程序通常用于执行业务逻辑。
- 函数只返回1值。 过程可以返回多个值(最多1024个)。
- 存储过程默认情况下始终返回零整数值。 函数返回types可以是标量或表或表值。
- 存储过程有一个预编译的执行计划,其中函数不是。
- 一个函数可以通过SQL语句直接调用,如从双selectfunc_name,而过程不能。
- 存储过程具有安全性,减less了networkingstream量,我们也可以调用存储过程。 一次申请。
- 一个函数可以在SQL查询中使用,而一个过程不能在SQL查询中使用,这会导致b / w函数和过程有很大的不同。
MySQL函数和mysql程序的区别
MYSQL函数
它必须返回值。
IN
,OUT
和INOUT
不能在函数中使用,但是在创build函数时必须声明返回数据types。 函数可以从一个SQL语句中调用。 函数返回一个值。
MYSQL程序
返回值不是强制性的,但可以使用OUT参数来返回过程。 可以使用
IN
|OUT
|INOUT
参数。 过程不能从SQL语句中调用。 过程通过使用OUT
或INOUT
参数返回多个值。
函数必须返回一个值,但是在存储过程中它是可选的(过程可以返回零或n值)。 函数只能有input参数,而程序可以有input/输出参数。 函数可以从程序调用,而程序不能从函数调用。