--或者用如下语句:select 存储过程名称=case b.colid when 1 then a.name else '' end ,参数名称=b.name ,参数类型=c.name +case when c.name in ('binary','char','nchar','nvarchar','varbinary','varchar','float','real') then '('+cast(b.prec as varchar)+')' when c.name in ('decimal','numeric') then '('+cast(b.prec as varchar)+','+cast(b.scale as varchar)+')' else '' end from sysobjects a join syscolumns b on a.id=b.id join systypes c on b.xusertype=c.xusertype where a.xtype='P' and a.status>0 and a.name=N'要查询的存储过程名' order by a.name,b.colid
我只想知道一个存储过程的参数个数,我在论坛上查到的结果是这样的,SELECT count(*) AS ParamCount FROM syscolumns c, sysobjects o WHERE o.id = c.id AND o.xtype='P' AND o.name='PROC_NAME'" 就可以了。谢谢zjcxc(邹建) ,结帖!
,参数名称=b.name
,参数类型=c.name
+case when c.name in ('binary','char','nchar','nvarchar','varbinary','varchar','float','real')
then '('+cast(b.prec as varchar)+')'
when c.name in ('decimal','numeric')
then '('+cast(b.prec as varchar)+','+cast(b.scale as varchar)+')'
else '' end
from sysobjects a
join syscolumns b on a.id=b.id
join systypes c on b.xusertype=c.xusertype
where a.xtype='P' and a.status>0 and a.name=N'要查询的存储过程名'
order by a.name,b.colid
就可以了。谢谢zjcxc(邹建) ,结帖!