2013-03-28 25 views
0

選擇特定的列如何選擇從存儲過程只有特定的列:如何從執行報告程序

DECLARE @return_value int 

EXEC @return_value = [dbo].[PositionsForNAV_PairTrades] 
     @ComparePeriod = 'MTD', 
     @OverrideCompareDate = '2010-12-31', 
     @PortfolioId = '5', 
     @OverrideStartDate = NULL, 
     @NewPositionsOnly = 0, 
     @ReportType = 0, 
     @SourceID = 13, 
     @SecurityType = 'Bond', 
     @LongShort = 1 
GO 

它給我很多列,請幫助我,我怎麼能只有3-4選擇結果中的特定列。

+1

請張貼代碼的程序。 – Taryn

+0

當我嘗試直接執行它時,我無法做任何修改嗎? 程序代碼數量太大:( – Neo

回答

2

您不能對此使用返回值。存儲過程具有單個返回值,它用於錯誤代碼/狀態值,而不是數據。它也限制爲整數。

你需要或者創建一個#temp表輸出到存儲過程的結構,然後執行:

INSERT #temp EXEC dbo.StoredProcedureName ... 
SELECT col1, col2 FROM #temp; 

或者可以使用其他各種黑客,就像使用OPENQUERY對環回提供商(我甚至不會表演,因爲我認爲這是一個壞主意)。

有關程序之間共享數據更多的想法,請參閱:

http://www.sommarskog.se/share_data.html