2012-04-11 2 views
5

Hallo Ich habe eine Proc namens Test_ProcA und ich möchte Test_ProcB anrufen. Ich erstellte eine temporäre Tabelle namens #temp mit übereinstimmenden Namen und Datentypen, die von Test_ProcB zurückgegeben werden.Eine Insert Exec-Anweisung kann nicht geschachtelt werden

Wie füge ich die Ergebnismenge ein, die von Test_ProcB in #temp zurückgegeben wird. Wenn ich das tue, bekomme ich diesen Fehler immer wieder:

An INSERT EXEC statement cannot be nested.

Alle Ideen und Vorschläge, was zu tun ist.

Antwort

11

Sie sind auf der Suche nach einem totalen Wartungs-Albtraum. Hier ist ein alter Artikel (der immer noch Updates erhält) zu dem Problem, das Sie mit alternativen Möglichkeiten haben, dasselbe zu tun.

http://www.sommarskog.se/share_data.html

4

, wenn Sie eine SQL Server gespeicherte Prozedur erstellen Sie eine INSERT INTO #TempTable von einem anderen exec sp_xxx haben können, aber Sie müssen, dass diese zweite innen steuern dort nicht ähnliche Techniken sind Daten zu verwalten. Sie können nur "eine Ebene" haben und die "verschachtelten" verursachen die Fehler.

Sie müssen den Code extrahieren und in der gespeicherten Prozedur der ersten Ebene verwalten, das ist mein Ansatz.

-1

Dieser Satz funktioniert, wenn Sie die SP von einem verknüpften Server ausführen,

Ich denke, es

Regards "Levels" erwähnt von @Massimo Sedda fällig!