回答

收藏

将存储过程的结果插入临时表

技术问答 技术问答 195 人阅读 | 0 人回复 | 2023-09-14

我该怎么办SELECT * INTO [temp table] FROM [stored procedure]?不FROM [Table],没有定义[temp table]?! u: J7 R3 A  e+ }
Select所有数据都可以BusinessLine正常tmpBusLine工作。
/ q4 u$ n( H8 y2 X9 w: `! Pselect *into tmpBusLinefrom BusinessLine我正在尝试同样的方法,但使用它stored procedure返回数据的a不完全一样。
6 G8 \* R9 b( M# y1 T, j2 ]select *into tmpBusLinefromexec getBusinessLineHistory '16 Mar 2009'输出信息:' a/ r/ y$ h( N7 C( {, p* z
新闻156,级别15,状态1,第二行关键词 exec附近的语法错误。3 v4 H6 a- D+ n; T& @! N
我已经阅读了几个具有相同结构的创建和输出存储过程的临时表,工作正常,但最好不要提供任何列。
+ [  Q/ g+ }  z( k9 U3 I                                                                8 V! P, `$ x+ Y4 ]. h- A" A7 d
    解决方案:                                                               
- j5 ^- j0 p. a                                                                您可以为此使用OPENROWSET。看一看。我还包括了sp_configure使用临时分布式查询代码(如果尚未使用)。
1 @# R3 |& r, h' sCREATE PROC getBusinessLineHistoryASBEGIN    SELECT * FROM sys.databasesENDGOsp_configure 'Show Advanced Options',1GORECONFIGUREGOsp_configure 'Ad Hoc Distributed Queries',1GORECONFIGUREGOSELECT * INTO #MyTempTable FROM OPENROWSET('SQLNCLI','Server=(local)\SQL2008;Trusted_Connection=yes; EXEC getBusinessLineHistory')SELECT * FROM #MyTempTable
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则