Sql server 的表值函数是返回一个Table类型,table类型相当于一张存储在内存中的一张虚拟表。
如何实现表值函数?
例子,一个不带输入参数的表值函数:
复制代码 代码示例:
create function tvpoints()
returns table
as
return
(
select * from tb_users
);
这个表值函数数查询所有用户表的数据。
对于多语句表值函数,在 BEGIN...END 语句块中定义的函数体包含一系列 Transact-SQL 语句,这些语句可生成行并将其插入将返回的表中。
创建一个表值函数.
复制代码 代码示例:
create function tvpoints()
returns @points table (x float, y float)
as begin
insert @points values(1,2);
insert @points values(3,4);
return;
end
查询表值函数跟查询普通表一样
复制代码 代码示例:
select * from tvpoints()
返回的是一张表
带输入参数的表值函数:
复制代码 代码示例:
create function tvpoints2(@x AS int,@y as int)
returns @points table (x float, y float)
as begin
insert @points values(@x,@y);
return;
end