MSSQL存储过程接收另一个存储过程返回列表

CREATE TABLE #tmp(
m_Meter_ID varchar(20)
,low_Voltage int
,num_Attack int
,num_DER int
,company_id int
,aid int
,cid int
,selfId varchar(25)
)

INSERT INTO #tmp EXEC Get_Meter_Log_For_Analysis @company_id=@company_Id,
@start=null,
@end=null

select * from #tmp

drop table #tmp


  基本思路是先创建一个临时表,通过INSERT ... EXEC ...语句将存储过程的返回结果保存到临时表中,接下来就可以像处理普通数据表那样对待这个临时表了。对于动态SQL语句,可以通过dbo.sp_executesql存储过程执行,或者直接作为EXEC的参数执行。具体的编写要求可以参考SQL Server联机丛书。这里只特别说明一下,临时表的表结构与存储过程(或动态SQL语句)返回的记录集的表结构兼容即可,不要求完全相同。

转载于:https://www.cnblogs.com/gxivwshjj/p/3655893.html

你可能感兴趣的:(MSSQL存储过程接收另一个存储过程返回列表)