表值函数
Posted anyihen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了表值函数相关的知识,希望对你有一定的参考价值。
用户定义表值函数返回 table 数据类型。
表值函数主要用于数据计算出来返回结果集。
--不带输入参数的表值函数
create function tvpoints()
returns table
as
return
(
select * from tb_users
);
--调用
select * from tvpoints()
--对于多语句表值函数,在 BEGIN...END 语句块中定义的函数体包含一系列 Transact-SQL 语句,这些语句可生成行并将其插入将返回的表中。
create function tvpoints1()
returns @points table (x float, y float)
as begin
insert @points values(1,2);
insert @points values(3,4);
return;
end
--带参数
create function tvpoints3(@x AS int,@y as int)
returns @points table (x float, y float)
as begin
insert @points values(@x,@y);
return;
end
--调用
select * from tvpoints3(1,2)
create function [dbo].[FGetSplitTable](@multiinput varchar(max))
Returns @multitable Table(Text varchar(30))
begin
Declare @split char(1)
Declare @store varchar(30)
Declare @start int, @end int, @len int
Declare @source varchar(max)
Select @split = ‘,‘
select @start = 1
select @source = ltrim(rtrim(@multiinput)) + @split
select @end = CharIndex(@split, @source, @start)
select @len = Len(@source)
While @start < @len
Begin
select @end = CharIndex(@split, @source, @start)
select @store = ltrim(rtrim(SubString(@source, @start, @end - @start)))
select @start = @end + 1
If @store <> ‘‘ Insert into @multitable(Text) select ltrim(rtrim(@store))
End
return
End
go
以上是关于表值函数的主要内容,如果未能解决你的问题,请参考以下文章