如何获取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')

这些好像都是没有存储过程的参数默认值信息,求高手指导

冰天雪地跪求指导~!

select * from sysobjects where xtype='P' and category=2 --这个是系统存储过程

select * from sysobjects where xtype='P' and status>0 --是用户

exec sp_helptext 'procname‘--获得存储过程创建脚本

先获得存储过程的创建脚本,然后解析出参数

这个问题你解决掉了吗