我有一个返回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"
dbo.MyUDF()
而不使用临时表变量。但是因为我需要在SP中引用它几次,所以我更喜欢使用只分配一次的局部变量,而不是每次引用它时都处理dbo.MyUDF()
。
我的UDF与这个答案非常相似:https://stackoverflow.com/a/11105413/3933402 (SplitInts
-只有我的返回唯一标识符)
你能试试吗SELECT * INTO #t FROM dbo.MyUDF(@List)