我有一个名为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.
任何人都可以帮助我。
答案 0 :(得分:4)
An INSERT EXEC statement cannot be nested.
错误信息非常清楚。你正在嵌套INSERT ... EXEC。声明。您调用的过程(Generate_Insert
)再次使用INSERT ... EXEC或insert
过程的调用者在INSERT ... EXEC中使用它。只有你能找到这种情况。根据经验,应该避免使用INSERT ... EXEC,因为this and other problems。