Положить наборы результатов в временную таблицу - PullRequest
0 голосов
/ 07 октября 2011

У меня есть процедура, которая называется Insert, и код выглядит так:

Create procedure Gen_insert
As
BEGIN


create table #temp
 ( insert_stmt varchar(max) ) 
 insert into #temp  
EXEC Generate_Insert @Table = 'Admin'

 insert into #temp  
EXEC Generate_Insert @Table = 'Impas'

 insert into #temp 
 EXEC Generate_Insert @Table = 'Asui'

 insert into #temp 
 EXEC Generate_Insert @Table = 'Alstd'  

select * from #temp 

End

Когда я выполняю его, я получаю следующую ошибку:

Msg 8164, Level 16, State 1, Procedure Gen_Insert, Line 73
An INSERT EXEC statement cannot be nested.

Может ли кто-нибудь мне помочь.

1 Ответ

4 голосов
/ 07 октября 2011

An INSERT EXEC statement cannot be nested. Сообщение об ошибке совершенно ясно. Вы вкладываете INSERT ... EXEC. заявления. Либо процедуры, которые вы вызываете (Generate_Insert), снова используют INSERT ... EXEC, либо вызывающая процедура insert использует их в INSERT ... EXEC. Только вы можете найти, в чем дело. Как правило, INSERT ... EXEC следует избегать из-за этой и других проблем .

...