程序和功能与常规之间的差异?

Yan*_*ang 71 mysql terminology

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

  • 存储过程;
  • 存储程序;
  • 存储功能.

PS内置函数就像那些日期时间函数一样,WEEKDAY()被认为是什么?

Jak*_*kob 83

谷歌是你的朋友."mysql例程函数过程"的第一个匹配是:http://dev.mysql.com/doc/refman/5.0/en/stored-routines-syntax.html

快速摘要:

存储的例程是过程或函数.

使用CALL语句调用过程,并且只能使用输出变量传回值.

可以像在任何其他函数中一样从语句内部调用函数,并且可以返回标量值.

  • 虽然我同意RTFM的观点.此答案现在由谷歌用于显示内联结果. (20认同)

Suj*_*mar 39

在这里,我试图总结功能和程序之间的区别.

  1. FUNCTION总是使用return语句返回一个值.PROCEDURE可以通过参数返回一个或多个值,或者根本不返回任何值.
  2. 函数通常用于计算,其中过程通常用于执行业务逻辑.
  3. 函数仅返回1个值.过程可以返回多个值(最大1024).
  4. 默认情况下,存储过程始终返回零的整数值.函数返回类型可以是标量或表或表值.
  5. 存储过程具有预编译的执行计划,而功能则不是.
  6. 一个函数可以通过SQL语句直接调用,如select func_name from dual,而procedure不能.
  7. 存储过程具有安全性并减少网络流量,我们也可以在任何编号中调用存储过程.一次申请.
  8. 函数可以在SQL查询中使用,而过程不能在SQL查询中使用.这会导致b/w函数和过程产生重大差异.


Dee*_*ani 29

MySQL函数和mysql程序的区别

MYSQL功能

它必须返回价值.IN,OUT并且INOUT不能在函数中使用.但是在创建函数时必须声明返回数据类型.函数可以从SQL语句中调用.函数返回一个值.

MYSQL程序

返回值不是必需的,但可以使用OUT参数来返回过程.可以使用IN| OUT| INOUT参数.无法从SQL语句调用过程.过程通过使用OUTINOUT参数返回多个值.


ven*_*kat 5

程序与功能

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.
Run Code Online (Sandbox Code Playgroud)