日期:2014-05-16 浏览次数:20476 次
declare @x int
set @x =1
--自定义函数能不能做到让@x值改变且不用return;就像c/c++那样在一个函数内部改变一个全局变量的值一般
--似乎是不能的吧
1)标量函数
CREATE FUNCTION [所有者名.]函数名 ( [ { @参数名 [ AS ] 数据类型 [ = 默认值 ] } [ ,...n ] ] )
RETURNS 返回值类型 [ WITH [ 选项,...n ] ]
[ AS ]
BEGIN
函数体
RETURN 标题表达式
END
2)内嵌表值函数
CREATE FUNCTION 所有者名.]函数名 ( [ { @参数名 [ AS ] 数据类型 [ = 默认值 ] } [ ,...n ] ] )
RETURNS TABLE [ WITH [选项 ,...n ] ]
[ AS ]
RETURN [ ( ] select语句 [ ) ] [ ; ]
3)多语句表值函数
CREATE FUNCTION [所有者名.]函数名 ( [ { @参数名 [ AS ] 数据类型 [ = 默认值 ] } [ ,...n ] ] )
RETURNS @返回值变量 TABLE < table_type_definition > [ WITH [ ,...n ] ]
[ AS ]
BEGIN
函数体
RETURN
END