当前位置:数据库 > SQLServer >>

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

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

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() 表值函数调用的时候不用加入*/

补充:数据库,Mssql
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,