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

时间:2014-08-19 16:22:41

标签: sql-server

我有一个返回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吗? 有没有其他方法直接将UDF结果TABLE分配给实际"INSERT INTO" / "SELECT INTO"以外的临时变量

编辑:我知道我可以直接在我的查询中引用dbo.MyUDF()而不使用临时表变量。但由于我需要在我的SP中多次引用它,我更喜欢使用仅分配一次的局部变量,而不是每次引用时都处理dbo.MyUDF()

我的UDF与此答案非常相似:https://stackoverflow.com/a/11105413/3933402SplitInts - 只有我的返回uniqueidentifier)

1 个答案:

答案 0 :(得分:-1)

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