0

我是 SQL Server 的新手,我想知道如何返回 UDF 中表的确切列。

情况是这样的:我要查询一个表,然后将其作为表再次返回。

例子 :

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

我要怎么做?

(问题只是如何返回带有动态字段的表)

希望你明白这个问题。提前致谢

更新:我的问题有点像如何创建一个列是动态的表变量。

4

1 回答 1

2

User defined functions几个限制(它们不会产生副作用 - 数据库中不能有任何东西 - 等等)。对于您的特定情况,以下内容禁止您进行工作:

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

因此,一个函数只有在编译时知道结果的结构时才能工作。

我会考虑一个程序来实现你所需要的,因为它允许更大的灵活性。然而,这带来了在存储过程之间共享数据的麻烦。

问题中未指定,但理想情况下,此动态处理应保持在高级语言中,例如C#Java对动态结构有更多支持(例如LINQDynamic LINQin C#

于 2016-02-17T06:17:21.443 回答