Stored procedures return integers.
If you want the result sets they return you can ask the SQL Server to parse the stored procedure to give you this information.
SQL Server 2012 introduces sys.dm_exec_describe_first_result_set_for_object
which replaces SET FMTONLY
.
CREATE PROC TestProc2
AS
SELECT object_id, name FROM sys.objects ;
SELECT name, schema_id, create_date FROM sys.objects ;
GO
SELECT * FROM sys.dm_exec_describe_first_result_set_for_object(OBJECT_ID('TestProc2'), 0) ;
SELECT * FROM sys.dm_exec_describe_first_result_set_for_object(OBJECT_ID('TestProc2'), 1) ;
GO
You can also investigate the parameters of a stored procedure, to see if any of them are marked OUT
. INFORMATION_SCHEMA.PARAMETERS
gives you each parameter's mode.
Looking at all three in combination should give you a lot of what you want.