我有一个返回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/3933402(SplitInts
- 只有我的返回uniqueidentifier)
答案 0 :(得分:-1)