函数和存储过程的区别
函数和过程都是一种子程序或子程序的集合,只不过函数有返回值而过程可以无返回值。
事件过程:有具体的对象和事件,必须通过对象的某个事件激活而被执行的.
通用过程:无具体的对象和事件,是通过其他过程(一般是事件过程)调用才被执行的,一般在 "模块 "中定义(窗体模块,标准模块,类模块),包括proc过程(无返回值)和function过程(有返回值).
函数是有返回值的,
无论在C++,SQL,.等很多语言,
可是,在先学C++后学SQL的创建函数时,我被C++的传统return 搞蒙了,
研究了很久.
终于发现问题所在.~!
例如:
create function lala (@a int ,@b int)
returns int
as
begin
if (@a >@b)
return (@a)
else
return (@b)
end
这样系统就会提示最后一句不是返回语句,
而我们只需要这样修改:
create function lala (@a int ,@b int)
returns int
as
begin
declare @max int
if (@a >@b)
set @max=@a
else
set @max=@b
return @max
end
这样说明了一个问题~!
MSSQL的标量函数不能像C#的函数那样可以任意地方用return返回值,他的返回语句必须在最后一行进行!
函数有返回值,过程不一定有返回值