怎么通过SQL语句获取SQL SERVER 2008 存储过程参数默认值

如何通过SQL语句获取SQL SERVER 2008 存储过程参数默认值
比如我的存储过程创建语句如下:

 CREATE PROC [dbo].[SearchBillDetail]
    (
      @OpBeginDate DATETIME ,
      @OpEndDate DATETIME ,
      @BillTypeID INT ,
      @BillOperType INT ,
      @SaleOperID INT = 1,
      @DrCompID INT = NULL 
    )
AS
    SET NOCOUNT ON  
        -- 后面省略

这是我需要通过SQL语句查询出SearchBillDetail存储过程有多少个参数,并且每个参数是否有默认值,比如上面的例子中@SaleOperID、@DrCompID这两个参数有默认值,分别是1和NULL,其他参数就没有默认值
我通过以下语句

 SELECT  *
FROM    sys.parameters
WHERE   object_id = OBJECT_ID('SearchBillDetail') 

EXEC sp_procedure_params_rowset @procedure_name = 'SearchBillDetail'

SELECT  *
FROM    syscolumns
WHERE   id = OBJECT_ID('SearchBillDetail')

这些好像都是没有存储过程的参数默认值信息,求高手指导
------解决思路----------------------
就我了解的程度,只能自己去解析了

你可以参考一下这边
http://bbs.csdn.net/topics/370018755
------解决思路----------------------
sys.parameters 2008有,2005有没默认值就不记得了
------解决思路----------------------
引用:
我觉得用什么办法可以拿到吧,比如SQL Server Management Studio中找到存储过程,展开,再展开参数。
这是就能显示那些参数有默认值,那些参数没有默认值
怎么通过SQL语句获取SQL SERVER 2008 存储过程参数默认值


这个是通过程序来实现的,比如 smo对象来实现这个的。

如果要直接通过sql语句来实现,难度会很大。

------解决思路----------------------
在这个表里找:syscomments,然后考虑如何代码实现