在MySQL数据库环境中,这三个术语有什么区别:
P.S。像日期时间函数weekday()
这样的内置函数被认为是什么?
答案 0 :(得分:77)
Google是你的朋友。 “mysql例程函数过程”的第一个匹配是:http://dev.mysql.com/doc/refman/5.0/en/stored-routines-syntax.html
快速摘要:
存储的例程是过程或函数。
使用CALL语句调用过程,并且只能使用输出变量传回值。
可以像在任何其他函数中一样从语句内部调用函数,并且可以返回标量值。
答案 1 :(得分:35)
在这里,我试图总结一下功能和程序之间的区别。
答案 2 :(得分:28)
MySQL函数和mysql过程之间的区别
MYSQL功能
它必须返回值。
IN
,OUT
和INOUT
无法在函数中使用。但是 创建函数时必须声明return datatype。功能可以 从SQL语句中调用。函数返回一个值。
MYSQL程序
返回值不是必需的,但可以使用OUT参数 程序返回。可以使用
IN
|OUT
|INOUT
个参数。程序 无法从SQL语句中调用。程序返回多个 使用OUT
或INOUT
参数的值。
答案 3 :(得分:2)
函数必须返回一个值,但在存储过程中它是可选的(过程可以返回零或n个值)。 函数只能有输入参数,而程序可以有输入/输出参数。 可以从Procedure调用函数,但不能从Function调用过程。
答案 4 :(得分:2)
程序与功能
1. PROCEDURES may or may not return a value but FUNCTION must return a value 2. PROCEDURES can have input/output parameter but FUNCTION only has input parameter. 3. We can call FUNCTION from PROCEDURES but cannot call PROCEDURES from a function. 4. We cannot use PROCEDURES in SQL statement like SELECT, INSERT, UPDATE, DELETE, MERGE etc. but we can use them with FUNCTION. 5. We can use try-catch exception handling in PROCEDURES but we cannot do that in FUNCTION. 6. We can use transaction in PROCEDURES but it is not possible in FUNCTION.