例如我有个存储过程
CREATE PROC usp_psName
@int id
AS
SELECT 1 AS N1,'2' AS N2,getdate() N3 FROM TABLE
我要查的结果是 N1 INT
N2 VARCHAR
N3 DATETIME
CREATE PROC usp_psName
@int id
AS
SELECT 1 AS N1,'2' AS N2,getdate() N3 FROM TABLE
我要查的结果是 N1 INT
N2 VARCHAR
N3 DATETIME
CREATE PROC usp_psName
@int id
AS
select 'N1', 'INT' union all
select 'N2', 'VARCHAR' union all
select 'N3', 'DATETIME'
select Pr_Name as [存储过程], [参数]=stuff((select ','+[Parameter]
from (
select Pr.Name as Pr_Name,parameter.name +' ' +Type.Name + ' ('+convert(varchar(32),parameter.max_length)+')' as Parameter
from sys.procedures Pr left join
sys.parameters parameter on Pr.object_id = parameter.object_id
inner join sys.types Type on parameter.system_type_id = Type.system_type_id
where type = 'P'
) t where Pr_Name=tb.Pr_Name for xml path('')), 1, 1, '')
from (
select Pr.Name as Pr_Name,parameter.name +' ' +Type.Name + ' ('+convert(varchar(32),parameter.max_length)+')' as Parameter
from sys.procedures Pr left join
sys.parameters parameter on Pr.object_id = parameter.object_id
inner join sys.types Type on parameter.system_type_id = Type.system_type_id
where type = 'P'
)tb
where Pr_Name not like 'sp_%' --and Pr_Name not like 'dt%'
group by Pr_Name
order by Pr_Name
CREATE PROC usp_psName
@int id
AS
SELECT 1 AS N1,'2' AS N2,getdate() N3 FROM TABLE这样的存储过程恐怕不多.功能稍强一点的,就会比这复杂得多,一般的存储过程都得几十行,多条查询语句,还有子查询,连接什么的,关键是没有什么规律,没法用简单逻辑判断的方法去获取你想要的东西.