在MySQL数据库上下文中,这3个术语有什么区别:
- 存储过程
- 存储功能
- 存储例程
像那些日期时间功能(例如WEEKDAY()
等)之类的内置功能也被认为是什么?
Answers:
Google是您的朋友。“ mysql例程功能过程”的第一个匹配项是:http : //dev.mysql.com/doc/refman/5.0/en/stored-routines-syntax.html
快速总结:
存储的例程可以是过程,也可以是函数。
使用CALL语句调用过程,并且只能使用输出变量传回值。
可以像其他任何函数一样从语句内部调用一个函数,并且可以返回标量值。
在这里,我试图总结功能和过程之间的区别:
SELECT func_name FROM DUAL
而过程则不能。程序与功能
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.