当前位置: 代码迷 >> Sql Server >> 【提问】SQL Server中有没有底据字典可以查询数据库中有哪些带参数的存储过程
  详细解决方案

【提问】SQL Server中有没有底据字典可以查询数据库中有哪些带参数的存储过程

热度:7   发布时间:2016-04-27 11:24:55.0
【提问】SQL Server中有没有数据字典可以查询数据库中有哪些带参数的存储过程?
如题,能查询出带参数的存储过程有哪些,参数分别是什么,参数的类型是什么。

多谢指教!

------解决方案--------------------
SQL code
SELECT  SPD.name '名称' ,        SPM.name '参数名称' ,        STP.name '变量类型' ,        SPM.max_length '长度' ,        SPM.is_output '是否返回值'FROM    sys.procedures SPD        LEFT JOIN sys.parameters SPM ON SPD.object_id = SPM.object_id        LEFT JOIN sys.types STP ON SPM.system_type_id = STP.system_type_idORDER BY SPD.name
------解决方案--------------------
探讨
存储过程中怎样替换一段文本,比如:我想把变量的数据类型长度放大:@Param Varchar(20)改为:@Param Varchar(50)

------解决方案--------------------
SQL code
SELECT definitionFROM sys.sql_modules SMWHERE EXISTS(SELECT 1 FROM sys.procedures SPD WHERE SM.object_id = SPD.object_id)--获取后,替换所有的create procedure 为alter procedure,[email protected] varchar(20) [email protected] varchar(50)--替换后,执行替换后代码即可。--建议:还是一个一个来比较稳当些,毕竟存储过程的影响较大
  相关解决方案