【发布时间】:2016-02-12 05:21:30
【问题描述】:
我需要从存储过程输出中填充一个表。我试过下面的查询。
DECLARE @Result AS TABLE (ouid int, value1 nvarchar(max), value2 nvarchar(max), value3 nvarchar(max))
insert into @Result (value1 ,value2, value3)
exec [USP_Getofficevalues] 1, NULL, NULL
但我在执行过程中遇到了错误:
INSERT EXEC 语句不能嵌套。
列名或提供的值数与表不匹配 定义。
我发现这个错误是因为存储过程有多个结果集,像这样:
officedetails
-------------
500000
value1
-----
1000
value2
-----
500
value3
-----
800
如何处理上述情况?感谢您的帮助。
【问题讨论】:
-
是否可以将存储过程更改为在单个结果集中返回?
-
没有。它已经在使用 sp 。我无法改变它
标签: sql sql-server tsql stored-procedures sql-server-2012