【提问】SQL Server中有没有数据字典可以查询数据库中有哪些带参数的存储过程?
如题,能查询出带参数的存储过程有哪些,参数分别是什么,参数的类型是什么。
多谢指教!
[解决办法]
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
[解决办法]
SELECT definitionFROM sys.sql_modules SMWHERE EXISTS(SELECT 1 FROM sys.procedures SPD WHERE SM.object_id = SPD.object_id)--获取后,替换所有的create procedure 为alter procedure,再替换所有的@parameter varchar(20) 为@parameter varchar(50)--替换后,执行替换后代码即可。--建议:还是一个一个来比较稳当些,毕竟存储过程的影响较大