比如我的存储过程创建语句如下:
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‘--获得存储过程创建脚本
先获得存储过程的创建脚本,然后解析出参数
这个问题你解决掉了吗