EXEC结果返回的列数未知。
INSERT INTO #FullTempClr ([Id], [Value1],[Value2], ..., [Value11])
EXEC [report].[TestReport] @Id
Howerver,有时TestReport返回Id和10个值,有时是Id和11,有时是Id和1值。如果只有Valu1可用,我们需要将null或0放入其他值。是否可以在此级别上执行此操作,或者唯一的方法是修改[report] .TestReport?
SQL Server 2008 r2
答案 0 :(得分:0)
我认为最好的方法是将所有逻辑封装到存储过程中,或者你可以使用这样的东西:
SP_CONFIGURE 'show advanced options',1
GO
RECONFIGURE
GO
SP_CONFIGURE 'Ad Hoc Distributed Queries',1
GO
SELECT * INTO #TempTable
FROM OPENROWSET
('SQLNCLI','Server=YourLocalServer;Trusted_Connection=yes;',
'EXEC YourStoredProcedure')
GO
SELECT * FROM #TempTable
GO
DROP TABLE #TempTable
您还可以查看此帖Stored Procedure with dynamic result into temp table