SQL Server ——函数种类<>

系统 1779 0

1、函数的种类

标量函数:返回一个值的函数

内嵌表函数:返回一个表,多行多列,只能写Select语句

多语句函数:是一种受限的T_SQL ,可以写 while if语句。受限表现在:在增删改方面:只能对返回的表进行增删改,不能对别的表进行增删改。

For example 1:

create function fn_age (@ageadd int)
returns int
as
begin
declare @age int
declare @ageresult int

set @age=@ageadd+1
select @ageresult=avg(age) from lucy where age like @age
return @ageresult
end

//执行,看一下结果
select dbo.fn_age(20) as result(指明列名)

For example2:

Create function   函数名(参数)

Returns   返回值数据类型

[with {Encryption | Schemabinding }]

[as]

begin

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

 

End

 

Schemabinding : 将函数绑定到它引用的对象上(注:函数一旦绑定,则不能删除、修改,除非删除绑定)

 

 

Create function AvgResult(@scode varchar(10))

Returns real

As

Begin

     Declare @avg real

     Declare @code varchar(11)

     Set @code=@scode + ‘%’

     Select @avg=avg(result) from LearnResult_baijiali

Where scode like @code

Return @avg

End

 

执行用户自定义函数

select   用户名。函数名 as   字段别名

select dbo.AvgResult(‘s0002’) as result

 

用户自定义函数返回值可放到局部变量中,用set ,select,exec 赋值

declare @avg1 real ,@avg2 real ,@avg3 real

select @avg1= dbo.AvgResult(‘s0002’)

set @avg2= dbo.AvgResult(‘s0002’)

exec @avg3= dbo.AvgResult ‘s0002’

select @avg1 as avg1 ,@avg2 as avg2 ,@avg3 as avg3

 

函数引用

 

create function code(@scode varchar(10))

returns varchar(10)

as

begin

declare @ccode varchar(10)

set @scode = @scode + ‘%’

select @ccode=ccode from cmessage

     where ccode like @scode

return @ccode

end

 

select name from class where ccode = dbo.code(‘c001’)

 ref: http://blog.sina.com.cn/s/blog_614316190100etjp.html

SQL Server ——函数种类<>


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论