如何获取SQL Server中存储过程返回的列的列表?

时间:2018-02-20 03:05:48

标签: sql-server tsql stored-procedures

在SQL Server中,如何查询系统表以返回存储过程的所有列名?对于视图,我知道我可以使用sp_columnssys.columns。但是当我对我的存储过程使用它时,它返回0行。

我尝试了以下内容:

EXEC sp_columns MyStoredProc;

SELECT * 
FROM sys.columns 
WHERE [object_id] = OBJECT_ID('MyStoredProc');

两者都没有返回。

提前致谢

1 个答案:

答案 0 :(得分:4)

如果您要求SQL 2012或更高版本,可以使用

exec sp_describe_first_result_set N'your-stored-procedure-name'

注意:这将返回存储过程返回的第一个结果集

MSDN