日期:2014-05-16  浏览次数:20666 次

mysql:为什么要分开过程和函数
我知道,过程和函数的区别,但是我不理解为什么这样设计;
当时他们是为了什么目的或意图这样分开的;
比如其他语言c/c++ java 等就只有一个

求高手解答;
3x!

------解决方案--------------------
没有什么道理。

因为在MYSQL函数除了有返回值外,使用方法也不同,不能直接CALL,只能SELECT或者其它用法。
另外在FUNCTION中还有其它的一些限制。 比如不能调用回滚或提交语句, 不能有返回比如执行普通的select 语句。
不能改表,等等。
------解决方案--------------------
POSTGRESQL也只有1个,MYSQL就是这样设计 的,调用方式、达到的目的不同
------解决方案--------------------
过程可以尽量多的包含逻辑
------解决方案--------------------
好处是MYSQL内部实现这些检查容易。
坏处就是用户需要都在这些限制。