SQL Server ——函数种类<转载>

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

转载于:https://www.cnblogs.com/BpLoveGcy/archive/2010/03/22/1691398.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值