在MySQL数据库环境中,这三个术语之间的区别是什么:
此外,内置函数,如日期时间函数(例如WEEKDAY()等)被认为是什么?
WEEKDAY()
sshcrbum1#
Google是你的朋友。mysql routine function procedure的第一个匹配是:http://dev.mysql.com/doc/refman/5.0/en/stored-routines-syntax.html简单总结一下:存储例程可以是过程,也可以是函数.过程是使用CALL语句调用的,并且只能使用输出变量传递回值。函数可以像任何其他函数一样从语句内部调用,并且可以返回标量值。
mrphzbgm2#
在这里,我试图总结函数和过程之间的区别:
SELECT func_name FROM DUAL
aurhwmvo3#
MySQL函数和MySQL过程的区别MYSQL函数它必须返回值。IN、OUT和INOUT不能在函数中使用。但创建函数时必须声明返回数据类型。函数可以从SQL语句调用。函数返回一个值。MYSQL过程返回值不是强制性的,但可以使用OUT参数来处理返回过程。可以使用IN|OUT|INOUT参数。不能从SQL语句调用过程。过程使用OUT或INOUT参数返回多个值。
IN
OUT
INOUT
z9gpfhce4#
过程VS函数
b1uwtaje5#
函数必须返回一个值,但在存储过程中它是可选的(过程可以返回零或n个值)。函数只能有输入参数,而过程可以有输入/输出参数。函数可以从过程调用,而过程不能从函数调用。
5条答案
按热度按时间sshcrbum1#
Google是你的朋友。mysql routine function procedure的第一个匹配是:http://dev.mysql.com/doc/refman/5.0/en/stored-routines-syntax.html
简单总结一下:
存储例程可以是过程,也可以是函数.
过程是使用CALL语句调用的,并且只能使用输出变量传递回值。
函数可以像任何其他函数一样从语句内部调用,并且可以返回标量值。
mrphzbgm2#
在这里,我试图总结函数和过程之间的区别:
1.* 函数 * 通常用于计算,而 * 过程 * 通常用于执行业务逻辑。
1.一个函数只返回一个值。过程可以返回多个值(最大值为1024)。
1.默认情况下,存储过程始终返回整数值零。而函数返回类型可以是标量或表或表值。
1.存储过程有一个预编译的执行计划,而as函数没有.
1.一个函数可以直接被像
SELECT func_name FROM DUAL
这样的SQL语句调用,而过程不能。1.存储过程具有安全性和减少网络通信量的优点,并且可以在任意数量的应用程序中同时调用存储过程。
1.函数可用于SQL查询,而过程不能用于SQL查询。这就造成了函数和过程之间的巨大差异。
aurhwmvo3#
MySQL函数和MySQL过程的区别
MYSQL函数
它必须返回值。
IN
、OUT
和INOUT
不能在函数中使用。但创建函数时必须声明返回数据类型。函数可以从SQL语句调用。函数返回一个值。MYSQL过程
返回值不是强制性的,但可以使用OUT参数来处理返回过程。可以使用
IN
|OUT
|INOUT
参数。不能从SQL语句调用过程。过程使用OUT
或INOUT
参数返回多个值。z9gpfhce4#
过程VS函数
1.我们可以从PROCEDURES调用FUNCTION,但不能从函数调用PROCEDURES。
1.我们不能在SQL语句中使用PROCEDURES,如SELECT,INSERT,UPDATE,DELETE,MERGE等。但是我们可以用函数来使用它们。
1.我们可以在PROCEDURES中使用try-catch异常处理,但不能在FUNCTION中这样做。
1.我们可以在PROCEDURES中使用事务,但在FUNCTION中不可能。
b1uwtaje5#
函数必须返回一个值,但在存储过程中它是可选的(过程可以返回零或n个值)。函数只能有输入参数,而过程可以有输入/输出参数。函数可以从过程调用,而过程不能从函数调用。