获取SQL SERVER某个数据库中所有存储过程的参数-宏鹏
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> ADP及SQL SERVER


获取SQL SERVER某个数据库中所有存储过程的参数

发表时间:2017/12/13 8:21:17 评论(1) 浏览(5033)  评论 | 加入收藏 | 复制
   
摘 要:获取SQL SERVER某个数据库中所有存储过程的参数
正 文:

一、获取指定数据库中所有存储过程的参数的方法

Select sp.object_Id as FunctionId, sp.name as FunctionName,
            isnull(param.name,'')as ParamName,isnull(usrt.name,'') AS [DataType],
            ISNULL(baset.name, '') AS [SystemType], CAST(CASE when baset.name is null then 0  WHEN baset.name IN ('nchar', 'nvarchar') AND param.max_length <> -1 THEN param.max_length/2 ELSE param.max_length END AS int) AS [Length],
            '' as ParamReamrk,isnull(parameter_id,0) as SortId
            FROM sys.objects AS sp  INNER JOIN sys.schemas b ON sp.schema_id = b.schema_id
            left outer JOIN sys.all_parameters AS param ON param.object_id=sp.object_Id
            LEFT OUTER JOIN sys.types AS usrt ON usrt.user_type_id = param.user_type_id
            LEFT OUTER JOIN sys.types AS baset ON (baset.user_type_id = param.system_type_id and baset.user_type_id = baset.system_type_id) or ((baset.system_type_id = param.system_type_id) and (baset.user_type_id = param.user_type_id) and (baset.is_user_defined = 0) and (baset.is_assembly_type = 1)) 
           LEFT OUTER JOIN sys.extended_properties E ON sp.object_id = E.major_id
            Where sp.TYPE in ('FN', 'IF', 'TF','P')  AND ISNULL(sp.is_ms_shipped, 0) = 0 AND ISNULL(E.name, '') <> 'microsoft_database_tools_support'
            orDER BY sp.name,param.parameter_id ASC

二、实例

查询SQL SERVER 系统数据库 master 中的所有存储过程参数








Access软件网交流QQ群(群号:198465573)
 
 相关文章
access调用MSSql存储过程通用代码  【丘山  2015/9/9】
SQL SERVER存储过程中如何使用事务与try catch  【学习也休闲  2016/12/7】
SQL server 存储过程语法大全  【易勋  2016/12/29】
Sql中存储过程的定义、修改和删除操作  【宏鹏  2017/10/18】
在Access快速开发平台中调用SqlServer存储过程优化性能...  【红尘如烟  2017/10/20】
常见问答
技术分类
相关资源
文章搜索
关于作者

宏鹏

文章分类

文章存档

友情链接