我正在努力实现这个目标
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO #TRSupervisors
EXEC [stpEmployee_getExpiryDateSupervisors] '0000912479', '100', @TRplant, 'ILOD', 1, 0
FETCH NEXT FROM TRcurPlant INTO @TRplant
END
执行时我收到的错误信息是。
消息8164,级别16,状态1,过程stpEmployee_getExpiryDateSupervisors,第87行
无法嵌套INSERT EXEC语句。
如果我在没有insert语句的情况下执行它,就像这样:
WHILE @@FETCH_STATUS = 0
BEGIN
--insert into #TRSupervisors
EXEC [stpEmployee_getExpiryDateSupervisors] '0000912479', '100', @TRplant, 'ILOD', 1, 0
FETCH NEXT FROM TRcurPlant INTO @TRplant
END
我能够获得所需的输出。
请建议一种将输出保存到临时表的方法。
答案 0 :(得分:0)
为此找到解决方案。问题是SP在内部递归调用另一个SP而另一个SP正在插入数据。所以我在主SP中替换了定义而不是SP调用。这解决了这个问题。