有没有办法在没有定义的情况下返回用户定义函数中的表?

时间:2015-08-18 15:02:37

标签: sql sql-server sql-server-2008 user-defined-functions inline-table-function

我有一个存储过程,它返回一个结果集,并且我想将其转换为用户定义的函数,以便我可以从中调用特定的字段。

我知道UDF可以使用以下命令返回表:

CREATE FUNCTION fn_FunctionName
RETURNS @table TABLE (col1 int, col2 varchar...)

问题是我的程序动态地为返回表创建列,因此在调用表之前无法知道表的结构。

有没有办法以这种方式创建一个函数? 我试过把它写成:

CREATE FUNCTION [SB].[fn_FunctionName] (@var varchar(max) = NULL)
RETURNS TABLE
AS

declare @var1 ....

但我得到Incorrect syntax near the keyword 'declare'

或者,有没有办法从返回表的存储过程中调用特定列?

0 个答案:

没有答案