1(函数中有哪些功能,而存储过程中没有?
2( 何时在sql中使用函数而不是存储过程?
3( 函数相对于存储过程有什么优点?
嗨,朋友们,我在谷歌上搜索了一下,我只找到了函数和存储过程的区别,但没有得到函数相对于存储过程的好处。在函数中,存储过程中有哪些功能也有相同的功能,那么我们为什么要使用函数呢?
当使用函数而不是存储过程时,我太混淆了函数
1(何时在sql中使用函数而不是存储过程
2(与存储过程相比,函数有哪些优势
任何人知道,请帮我
函数和存储过程的相似之处在于,它们都用于存储以后可以运行的功能,但它们也有很大的不同
我遇到的一些重要差异:
函数可以在SELECT
语句中调用,过程不能
虽然函数可以像function_name()
一样调用,但过程需要显式的CALL
关键字:CALL procedure_name([args])
。
函数可以返回一个值,过程可以返回多个
过程并不完全返回值,而是可以获得传递的类似引用的参数。然后可以将这些值指定并用作返回值。
在IN
中标记正则参数作为输入,在OUT
中标记用于返回值的参数作为输出。你可以有同时做这两件事的论点:INOUT
。MySQL文档中的示例
CREATE PROCEDURE citycount (IN country CHAR(3), OUT cities INT)
BEGIN
SELECT COUNT(*) INTO cities FROM world.city
WHERE CountryCode = country;
END
另一个区别是存储过程可以返回表,而函数不能(除非您提供一列或多列作为输入(