Sql server UDF-使用“Exec'select*from…”从自定义sql字符串执行返回表

Sql server UDF-使用“Exec'select*from…”从自定义sql字符串执行返回表,sql-server,linq-to-sql,tsql,user-defined-functions,Sql Server,Linq To Sql,Tsql,User Defined Functions,如何从执行自定义查询字符串的UDF返回表?例如: 结束 我想也许我可以在内存中创建一个临时表,然后返回它,但我不想为此在服务器中分配额外的内存 而且…我应该使用SP还是UDF来实现这个目标?我在SP中运行此函数,但Linq2SQL无法确定返回类型,因此我无法在.NET代码中正确使用此函数 谢谢! TT我很确定您不能在函数中使用动态sql 我很确定您不能在函数中使用动态sql Erland已经记录了许多不同的方法来实现这一点,但不是像其他人指出的那样使用函数,请参见:。。。可能还需要阅读他的两

如何从执行自定义查询字符串的UDF返回表?例如:

结束

我想也许我可以在内存中创建一个临时表,然后返回它,但我不想为此在服务器中分配额外的内存

而且…我应该使用SP还是UDF来实现这个目标?我在SP中运行此函数,但Linq2SQL无法确定返回类型,因此我无法在.NET代码中正确使用此函数

谢谢!
TT

我很确定您不能在函数中使用动态sql

我很确定您不能在函数中使用动态sql

Erland已经记录了许多不同的方法来实现这一点,但不是像其他人指出的那样使用函数,请参见:。。。可能还需要阅读他的两篇动态SQL文章。

Erland已经记录了许多实现这一点的不同方法,但不是像其他人指出的那样,使用函数,请参见:。。。可能还需要阅读他的两篇动态SQL文章。

您希望在表中返回多少数据?您希望在表中返回多少数据?是的,这是真的。。。可能需要使用存储过程。谢谢大家的输入。阅读Aaron建议的文章有助于澄清。向所有人问好。是的,这是真的。。。可能需要使用存储过程。谢谢大家的输入。阅读Aaron建议的文章有助于澄清。大家好。

CREATE FUNCTION fx_AdvancedSearch
(
@keywords varchar(255), (..... other params ....) ) RETURNS TABLE AS BEGIN DECLARE @SqlQuery varchar(1000)

.....

    SET @SqlQuery = 'my custom select  string previously generated'

EXEC(@SqlQuery)