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

sqlserver中表值函数与标量值函数的简单使用

1.表值函数与标量值函数的定义:

 

表值函数定义如下:

CREATE FUNCTION Gy_Fn_GetManInfo
(
 @No char(10)
)
RETURNS
@Man TABLE
(
 ManNo char(10),
 ManName nvarchar(50),
 age int,
 Address nvarchar(100)
)
AS
BEGIN
 insert into @Man(ManNo,ManName,age,Address)
 select ManNo,Age,Address from Man where ManNo = @No
 RETURN
END
GO

 

标量值函数定义如下:

CREATE FUNCTION Gy_Fn_GetManName
(
 @No char(10)
)
RETURNS nvarchar(50)
AS
BEGIN
 DECLARE @ManName nvarchar(50)

 SELECT @ManName = ManName from Man where ManNo = @No

 RETURN @ManName
END
GO

 

2.表值函数与标量值函数的区别:

表值函数返回的是一个表格,标量值函数返回的是其他类型;

表值函数与标量值函数调用方式不同:如果调用上面的表值函数为select * from Gy_Fn_GetManInfo('M1'),如果调用上面的标量值函数为select dbo.Gy_Fn_GetManName('M1'),一个无需加前缀,一个必须加前缀,否则报错。

 

以上为本人对两种函数的理解,欢迎大家指正!

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

相关推荐