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'),一个无需加前缀,一个必须加前缀,否则报错。

 

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

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...