2013-02-08 26 views
1

我不打算深入細節,但我需要一種方法來確定存儲過程返回列的類型。T-SQL檢測存儲過程返回的列的類型

有沒有辦法實現這一點,我不尋找一個解決方案,與指定的程序一起工作 - 我應該能夠在其他程序中檢測到這一點,作爲參數接收其他程序的名稱。

我使用SQL Server 2012的

+0

[檢索存儲過程的結果集列定義](http://stackoverflow.com/questions/7368864/retrieve-column-definition-for-stored-procedure-result-set) – Pondlife 2013-02-08 14:32:12

回答

2

在SQL Server 2012中您可以使用sp_describe_first_result_set

顧名思義這將返回有關第一結果集只能由一個存儲過程返回的元數據。下面的例子。

CREATE PROC Foo 
AS 
SELECT * 
FROM sys.objects 

GO 

EXEC sp_describe_first_result_set @tsql = N'Foo' 
+0

致謝可能重複,我只在第一個結果集中感興趣,這完全解決了我的問題。只是想知道,是否有辦法從每個結果集中檢索列類型信息? – gotqn 2013-02-08 15:06:03

+0

@gotqn - 在TSQL中不可能。通過實際執行存儲過程並查看返回的結果集,您可以通過諸如'C#'的語言來完成。 – 2013-02-08 15:07:56

+0

以前版本的SQL的任何其他解決方案? – TravisWhidden 2013-09-27 19:24:45