表值函数定义如下:
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
表值函数与标量值函数的调用方式不同:如果调用上面的表值函数为select * from Gy_Fn_GetManInfo('M1'),如果调用上面的标量值函数为select dbo.Gy_Fn_GetManName('M1'),一个无需加前缀,一个必须加前缀,否则报错。
以上为本人对两种函数的理解,欢迎大家指正!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。