怎么通过SQL语句获取SQL SERVER 2008 存储过程参数默认值
如何通过SQL语句获取SQL SERVER 2008 存储过程参数默认值
比如我的存储过程创建语句如下:
这是我需要通过SQL语句查询出SearchBillDetail存储过程有多少个参数,并且每个参数是否有默认值,比如上面的例子中@SaleOperID、@DrCompID这两个参数有默认值,分别是1和NULL,其他参数就没有默认值
我通过以下语句
这些好像都是没有存储过程的参数默认值信息,求高手指导
------解决思路----------------------
就我了解的程度,只能自己去解析了
你可以参考一下这边
http://bbs.****.net/topics/370018755
------解决思路----------------------
sys.parameters 2008有,2005有没默认值就不记得了
------解决思路----------------------
这个是通过程序来实现的,比如 smo对象来实现这个的。
如果要直接通过sql语句来实现,难度会很大。
------解决思路----------------------
在这个表里找:syscomments,然后考虑如何代码实现
比如我的存储过程创建语句如下:
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.****.net/topics/370018755
------解决思路----------------------
sys.parameters 2008有,2005有没默认值就不记得了
------解决思路----------------------
这个是通过程序来实现的,比如 smo对象来实现这个的。
如果要直接通过sql语句来实现,难度会很大。
------解决思路----------------------
在这个表里找:syscomments,然后考虑如何代码实现