如何从返回table的函数中设置临时表变量



我有一个返回TABLE的UDF。

在我的SP中我定义了一个临时表变量:

declare @t table ([ID] uniqueidentifier)

如何设置@t = MyDF

唯一有效的方法是:

INSERT INTO @t SELECT * FROM dbo.MyUDF(@List)

这个工作:

SELECT * INTO @t FROM dbo.MyUDF(@List) -- <- This is just a note, and NOT the question

我的问题:我不能以某种方式分配select @t = dbo.MyUDF吗?
除了"INSERT INTO"/"SELECT INTO"

之外,还有其他方法可以直接将UDF结果表赋值给临时变量吗?编辑:我知道我可以在我的查询中直接引用dbo.MyUDF()而不使用临时表变量。但是因为我需要在SP中引用它几次,所以我更喜欢使用只分配一次的局部变量,而不是每次引用它时都处理dbo.MyUDF()

我的UDF与这个答案非常相似:https://stackoverflow.com/a/11105413/3933402 (SplitInts -只有我的返回唯一标识符)

你能试试吗SELECT * INTO #t FROM dbo.MyUDF(@List)

最新更新