我很难将存储过程中的结果插入到SQL 2012
中的临时表中,我的旧代码在SQL 2008
上完美运行,但2012
出现了错误。
Msg 11529,Level 16,State 1,Procedure sp_describe_first_result_set, 第1行由于每个代码路径都无法确定元数据 导致错误;查看其中一些错误。
Msg 4902,Level 16,State 1,Procedure sp_describe_first_result_set, 第1行无法找到对象" #Tethys_ReportGenerator_Tbl"因为它 不存在或您没有权限。
我的存储过程会发出具有动态列的结果集,有时它有10个,有时它有15个。请帮助我解决上述问题。
下面给出了我的旧代码,下面给出了2012年的一些代码:
select a.* into [tempdb].[dbo].[tempBase]
from openrowset('SQLNCLI', 'Server=.;Trusted_Connection=Yes;Integrated Security=SSPI', 'SET NOCOUNT ON;SET FMTONLY OFF ; exec LIQ_TradeBustTrader5895.dbo.price_report @loginID = ''ALL'', @tableName = ''order_msgs'', @firmname = ''ALL'', @AssetClass = ''All'', @OutputBustRecords=0, @ManualOrder=0, @TimeFrom=''0:0'', @TimeTo=''23:59'', @ExcludeSimulatedTrades=0, @SingleTable =1 ') AS a;
2012年
select a.* into [tempdb].[dbo].[tempBase]
from sys.dm_exec_describe_first_result_set (N'EXEC LIQ_TradeBustTrader5895.dbo.price_report @loginID = ''ALL'', @tableName = ''order_msgs'', @firmname = ''ALL'', @AssetClass = ''All'', @OutputBustRecords=0, @ManualOrder=0, @TimeFrom=''0:0'', @TimeTo=''23:59'', @ExcludeSimulatedTrades=0, @SingleTable =1', null, 2) AS a;