如何在多语句表值函数中返回表

时间:2014-04-29 14:59:00

标签: sql sql-server user-defined-functions sql-function

所以我有多语句表值函数有这样的输入和输出参数

    CREATE FUNCTION fn_SearchByText 
(
    @AdTitle varchar(100)
)
RETURNS @output TABLE(AdID varchar(20), AdTitle varchar(50), BrandName varchar(20), 
ModelName varchar(20), ModelType varchar(20), ModelYear int, Describe varchar(350),
Price int, PostedDate datetime
) 

经过几行代码后,我发表了如下所述的声明 PS:@like是代码中声明的变量

SET @query ='select AdID, AdTitle, BrandName, ModelName, ModelType, ModelYear,
    Describe, Price, PostedDate from Ads where AdTitle is not null '+ @like;
    exec sp_executesql @query;

那么如何从最后一个语句中返回表。

请帮忙

1 个答案:

答案 0 :(得分:2)

抱歉,您无法从TVF内部执行动态SQL。使它成为一个存储过程,它将允许这个(虽然不是那么优雅)。