微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQLServer 表值函数与标量值函数 定义方式与调用区别

sqlServer 表值函数与标量值函数定义方式与调用区别

       sql存储过程经常需要调用一些函数来使处理过程更加合理,也可以使函数复用性更强,不过在写sql函数的时候可能会发现,有些函数是在表值函数下写的有些是在标量值下写的,区别是表值函数只能返回一个表,标量值函数可以返回基类型。

标量值函数创建:

Create Function [dbo].[GoosWidth]

(

    @GoodsCodevarchar(20)

)

Returns float

Begin

      Declare @Value float

      Select @Value = GoodsWidth From Master_Goods Where GoodsCode =@GoodsCode

      Return(@Value)

End


表值函数创建:

Create Function [dbo].[GetAllGoods]

()

Returns Table

As

 Return(Select * From[Master_Goods])


创建一个自定义样式的标量函数

Create Function [dbo].[GetMyStyleDate](@DateDateTime)

Returns nvarchar(20)

Begin

      Declare @ReturnValue nvarchar(20)

      Set @ReturnValue = '今天是' +convert(nvarchar(4),datepart(year,@Date)) + '年'+convert(nvarchar(2),datepart(month,@Date)) + '月'+convert(nvarchar(2),datepart(day,@Date)) + '日'

      return @ReturnValue

End


       其中标量值函数调用的时候方式如下:Selectdbo.GoosWidth('0003') 注意:函数前边一定要加上所有者:dbo 

       表值函数调用方法如下:Select* From GetAllGoods() 表值函数调用的时候不用加入。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐