首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么把表值函数的返回值赋值一个变量

2014-01-12 
如何把表值函数的返回值赋值一个变量函数返回一个表create function [dbo].[f_splitToTable]() returns @t

如何把表值函数的返回值赋值一个变量
函数返回一个表
create function [dbo].[f_splitToTable]() 
returns @t table(col varchar(250)) 
as 
begin 
...
end 

如何在sp中调用这个函数f_splitToTable并把返回的值赋给一个变量,因为要多次调用这个函数,所以需要把它存放到一个变量中,但我用以下方法试了,不行.
declare @t table(col varchar(250)) 
select @t = [dbo].[f_splitToTable]()
运行时提示:必须声明标量变量 "@t"。

[解决办法]
create table #tb(col varchar(250))
insert into #tb(col)
select *
from dbo.f_splitToTable


[解决办法]

引用:
函数返回一个表
create function [dbo].[f_splitToTable]() 
returns @t table(col varchar(250)) 
as 
begin 
...
end 

如何在sp中调用这个函数f_splitToTable并把返回的值赋给一个变量,因为要多次调用这个函数,所以需要把它存放到一个变量中,但我用以下方法试了,不行.
declare @t table(col varchar(250)) 
select @t = [dbo].[f_splitToTable]()
运行时提示:必须声明标量变量 "@t"。


楼主上面已经定义了一个表变量,那么只需要这样就好了:

declare @t table(col varchar(250)) 

insert into @t
select *
from [dbo].[f_splitToTable]()

热点排行