select b.colid,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 as type
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.name='存储过程名称'
order by b.colid
+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 as type
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.name='存储过程名称'
order by b.colid