SQL Server 自定义函数

来源:互联网 发布:最新淘宝好评返现违规 编辑:程序博客网 时间:2024/05/01 07:01

标量函数

Create function 函数名(参数)

Returns 返回值数据类型

[with {Encryption | Schemabinding }]

[as]

begin

SQL语句(必须有return 变量或值)

End

对于初学者还不是太会自定义函数的话我先来一个简单的标量函帮助大家理解,同时也是加深我的印象

create function GetSum1  (  @num1 int , @num2 int  , @num3 int  )  returns int    as    begin     declare @return int  set @return = @num1 + @num2  + @num3return @return    end    select dbo.GetSum1(1,3,7)  
运行结果如下:

注意事项:

用户自定义函数不能用于执行一系列改变数据库状态的操作

在编写自定义函数时需要注意的:

对于标量函数:

1.      所有的入参前都必须加@

2.      create后的返回,单词是returns,而不是return

3.      returns后面的跟的不是变量,而是返回值的类型,如:int,char等。

4.      在begin/end语句块中,是return。

内嵌表值函数:

1.      只能返回table,所以returns后面一定是TABLE

2.      AS后没有begin/end,只有一个return语句来返回特定的记录。

多语句表值函数:

1.      returns后面直接定义返回的表类型,首先是定义表名,表明前面要加@,然后是关键字TABLE,最后是表的结构。

2.      在begin/end语句块中,直接将需要返回的结果insert到returns定义的表中就可以了,在最后return时,会将结果返回。

3.      最后只需要return,return后面不跟任何变量。