日期:2014-05-17  浏览次数:20480 次

SQLSERVER sp
我想把某个存储过程执行之后的结果集当个表来用 比如
select * from ( execute dbo.sp_wh_storage_rpt;1 @adt_fm = '2012-11-11 0:0:0.000', @adt_to = '2012-12-11 14:45:55.360', @as_sql = ' and whgdw.cust_code in ( ''HAL00034'') ') t

------解决方案--------------------
可以这样 

insert  表名
exec  sp_name 

但是不能你那样

建议你创建一个临时表  把存储过程返回的结果放入临时表   在对临时表的数据进行处理
------解决方案--------------------
DECLARE @table TABLE(
.....
)
INSERT @table execute dbo.sp_wh_storage_rpt;1 @adt_fm = '2012-11-11 0:0:0.000', @adt_to = '2012-12-11 14:45:55.360', @as_sql = ' and whgdw.cust_code in ( ''HAL00034'') '

select * from @table 
------解决方案--------------------
如果这个存储过程sp_wh_storage_rpt 返回的就是张表的话,直接写入全局临时表试试看。

------解决方案--------------------
结果集固定的话还是用:
insert into tb
exec sp
这样好。
------解决方案--------------------
引用:
我想把某个存储过程执行之后的结果集当个表来用 比如
select * from ( execute dbo.sp_wh_storage_rpt;1 @adt_fm = '2012-11-11 0:0:0.000', @adt_to = '2012-12-11 14:45:55.360', @as_sql = ' and whgdw.cust_code in ( ''HA……

学习