我有一个名为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.
有谁能帮我吗
An INSERT EXEC statement cannot be nested.
错误信息非常清楚。您正在嵌套INSERT…执行。语句。您调用的过程(Generate_Insert
)再次使用INSERT…EXEC或insert
过程的调用者在INSERT…执行。只有你自己知道是哪种情况。根据经验,插入…由于这个问题和其他问题,应该避免使用EXEC。