INSERT EXEC 语句不能嵌套。

better_cy 2008-11-14 10:10:53
Create PROCEDURE a 
....
insert #temp
exec b
...

Create PROCEDURE b
..
@sql = ...
insert #temp
exec @sql
..

执行 a 提示:INSERT EXEC 语句不能嵌套。
该如何解决呢?

...全文
145 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
better_cy 2008-11-14
  • 打赏
  • 举报
回复
不是的,a里面也要insert 的,我要得到这个记录集进行汇总.
我这个只是简写.
a 是汇总
b 是明细
是针对不同的报表结果.
jinjazz 2008-11-14
  • 打赏
  • 举报
回复
你的逻辑错误了,在b中已经insert了,a中还要insert干吗

select top 0 * into  test from sysobjects
go

create proc a
as
exec ('b')

go

create proc b
as
insert into test
exec ('select * from sysobjects')
go

exec a

drop table test
drop proc a
drop proc b
mustudent 2008-11-14
  • 打赏
  • 举报
回复
那就是不能嵌套了

反正你都是要Insert
可以写成这样啊

Create PROCEDURE b
..
@sql ="insert #temp"
@sql =@sql=....
...

exec @sql
..
jinjazz 2008-11-14
  • 打赏
  • 举报
回复
create proc p
as
select * from sysobjects

go

select top 0 * into test from sysobjects

insert into test exec ('p')
select * from test


drop table test
drop proc p

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧