2016-11-05 47 views
1

我有一個過程A如何執行proceduce選擇SQL

在執行A 'DD/MM/YY'

我得到如下結果:

Nmonth Origincode      Rev  NYEAR 
---------------------------------------------------------- 
03(MAR) OL Booking online    11024127 2016 
03(MAR) OT Bookings from Other source 23728136 2016 
03(MAR) RES Bookings from    5761904  2016 
03(MAR) UK UK       831169  2016 
03(MAR) WS Bookings      0   2016 

我是不是試圖選擇SQL但不是

select * 
from (exec A '1/1/2016') as results 
where coll = xyz 

這是不正確的。

你能幫我嗎?

+0

你試圖從一個存儲過程中的查詢結果? –

+0

您需要將過程輸出保存到臨時表中,然後使用WHERE條件從該表中選擇。 –

+4

您已經爲Oracle和SQL Server標記了此標記。你實際使用了哪兩種? –

回答

1

如果你正在尋找的結果在SQL Server則: 你可以把你的存儲過程結果到任何臨時表所示:

//創建臨時表

Create table #mytable 
(
<your column list> 
) 

//插入數據到臨時表

insert into #mytable exec A '1/1/2016' 

//選擇您的篩選器的數據,或者你也可以把在where子句中存儲過程本身

Select * from #mytable where coll=xyz 

,或者您也可以將數據插入到臨時表中,如:

SELECT * 
INTO #mytable FROM  
OPENQUERY(yourservername, 'exec A ''1/1/2016''')