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

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

概述sql存储过程经常需要调用一些函数来使处理过程更加合理,也可以使函数复用性更强,不过在写sql函数的时候可能会发现,有些函数是在表值函数下写的有些是在标量值下写的,区别是表值函数只能返回一个表,标量值函数可以返回基类型。 标量值函数创建: Create Function [dbo].[GoosWidth] (     @GoodsCode varchar(20) ) Returns float B @H_419_0@ @H_419_0@ sql存储过程经常需要调用一些函数来使处理过程更加合理,也可以使函数复用性更强,不过在写sql函数的时候可能会发现,有些函数是在表值函数下写的有些是在标量值下写的,区别是表值函数只能返回一个表,标量值函数可以返回基类型。
标量值函数创建:

Create Function [dbo].[GoosWIDth]

(

    @GoodsCode varchar(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](@Date DateTime)
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
       其中标量值函数调用的时候方式如下:Select dbo.GoosWIDth('0003')

       注意:函数前边一定要加上所有者:dbo         表值函数调用方法如下:Select * From GetAllGoods() 表值函数调用的时候不用加入。

@H_419_0@ 总结

以上是内存溢出为你收集整理的SQLServer 表值函数与标量值函数 定义方式与调用区别全部内容,希望文章能够帮你解决SQLServer 表值函数与标量值函数 定义方式与调用区别所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1181921.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存