我正在尝试将存储过程结果集加载到临时表中,但数据未加载到临时表中。存储过程结果不会存储到临时表中。它显示" 0行受影响"。
示例#1:
haishoku
示例#@:
EXEC dbo.emp
(10 row(s) affected)
10行未加载到临时表中。
我试过这样:
insert into #tempemp
EXEC dbo.emp
(0 row(s) affected)
但我只收到错误:
Msg 11536,Level 16,State 1,Line 1
EXECUTE语句失败,因为它指定了WITH RESULT SETS子句 1个结果集,但该语句仅在运行时发送了0个结果集 时间。
但存储过程只返回一个结果集。
任何人都可以帮忙吗?
感谢。
答案 0 :(得分:0)
如果要进行测试,它应该在同一个对象上。我们没有人拥有你的SP,但我知道我有这个,它在我的结局上运作得很好:
CREATE PROCEDURE DUCKLING AS BEGIN SELECT 1 END
CREATE TABLE #TEMP (ID INT)
INSERT INTO #TEMP EXEC DUCKLING
SELECT * FROM #TEMP
所以也许你可以尝试一下,和/或提供你的SP代码。替代SP(如DUCKLING
)是否有效将有助于我们缩小问题发生的范围。
答案 1 :(得分:0)
我不能简单评论,因为我是一个菜鸟。
在我看来,好像你期待来自exec dbo.emp的输出。我看到(10)行,但我希望你会在select语句中收到类似的结果。
您可能只需要在dbo.emp的末尾放置一个select语句来将所有内容转储出来,然后您的Insert应该按预期工作。