我是SQL Server的新手,我想知道如何在UDF中返回表的确切列。
情况是这样的:我将查询一个表,然后将其作为表再次返回。
示例:
create function test
var t
set t = select * from table where condition
return t;
我该怎么做?
(问题只是如何使用动态字段返回表格)
希望你理解这个问题。提前致谢
更新:我的问题是如何创建一个表变量,其列是动态的。
答案 0 :(得分:2)
User defined functions
有several limitations(它们意味着没有副作用 - 数据库中没有任何东西 - 等等)。对于您的特定情况,以下内容禁止您开展工作:
因此,只有在编译时知道结果的结构是什么时,函数才能工作。
我会考虑一个程序来实现您的需求,因为它允许更多的灵活性。然而,这伴随着在stored procedures之间共享数据的头痛。
问题中未指明,但理想情况下,此动态处理应保留为C#
或Java
等高级语言,以支持动态结构(例如LINQ
或Dynamic LINQ
中的C#