2014-09-30 85 views
0

我有一個存儲過程看起來像這樣:獲取存儲過程的列名

SELECT 
    nTransactionId 
    ,strInstrument 
FROM dbo.Deals 

我讀過,對於SQL Server 2012,我可以使用sp_describe_first_result_set,但有對SQL Server 2008中的任何替代方案?

當我說我想列名時,我的意思是nTransactionIdstrInstrument。即使查詢不返回任何結果。

非常感謝!

+0

可能重複的[檢索存儲過程結果集的列定義](http://stackoverflow.com/questions/7368864/retrieve-column-definition-for-stored-procedure-result-set) – GarethD 2014-09-30 10:11:50

+0

@GarethD我可以不要使用鏈接服務器。 – MrProgram 2014-09-30 10:27:18

+0

在這種情況下,我相當確信你不能這樣做。據我所知,你有3個選擇:** 1。**升級到SQL Server 2012. ** 2。**使用鏈接服務器(儘管它只是將它鏈接到自己)。 ** 3。**找到不需要知道程序結果定義的問題的解決方案。 – GarethD 2014-09-30 10:32:42

回答

0

爲此我一直都用:

SET FMTONLY ON; 

只返回元數據到客戶端。可以用於測試 響應的格式而不實際運行查詢。

看一看這裏:Sql Server SET FMTONLY (Transact-SQL)

這就是DataSet設計是爲了得到一個程序的parameteres例如使用。