在 UDF 中返回表

Returning tables in UDF

我是 SQL 服务器的新手,我想知道如何 return UDF 中 table 的确切列。

情况是这样的:我要查询一个 table,然后 return 再次查询 table。

示例:

create function test
var t
set t = select * from table where condition
return t;

我要怎么做?

(问题只是如何 return 具有动态字段的 table)

希望你理解这个问题。提前致谢

UPDATE :我的问题有点像如何创建一个 table 变量,其中的列是动态的。

User defined functionsseveral limitations(它们意味着没有副作用 - 数据库中没有任何东西 - 等等)。对于您的具体情况,以下禁止您进行工作:

  • 动态SQL无法使用
  • 不允许临时表

所以,一个函数只有在编译时知道结果的结构是什么才能工作。

我会考虑一个程序来实现您的需要,因为它允许更大的灵活性。然而,这伴随着 stored procedures.

之间共享数据的头痛。

问题中没有具体说明,但理想情况下,这种动态处理应该使用像 C#Java 这样的高级语言,它们对动态结构有更多的支持(例如 LINQDynamic LINQC#)