如何通过SQL Server数据库模式搜索,找到具有指定参数集的StoredProcs?[英] How can I search through a SQL Server database schema to find StoredProcs with a specified set of args?

本文是小编为大家收集整理的关于如何通过SQL Server数据库模式搜索,找到具有指定参数集的StoredProcs?的处理方法,想解了如何通过SQL Server数据库模式搜索,找到具有指定参数集的StoredProcs?的问题怎么解决?如何通过SQL Server数据库模式搜索,找到具有指定参数集的StoredProcs?问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我正在尝试推断出哪个存储的Proc用于返回一组特定的数据.

挑战是数据库具有数百个存储的Procs.有什么方法我可以查询模式以找到具有命名参数的所有存储程序,例如:

Unit
Member
BegDate
EndDate

...或除非这样,请找到四个args的sp?

那会使事情有些缩小并改善问题.

推荐答案

您想找到有关存储过程的所有信息,您可以在information_schema.schema.parameters,sys.paramaters,sys.paramaters,sys.procedures,sys.sss.sql_modules等表中找到.

可以通过查询inovy_schema.parameters中的parameter_name来解决您的问题.

例如

; WITH T AS (SELECT [specific_name] FROM information_schema.parameters WHERE [parameter_name] = '@Unit'
UNION ALL
SELECT [specific_name] FROM information_schema.parameters WHERE [parameter_name] = '@Member'
UNION ALL
SELECT [specific_name] FROM information_schema.parameters WHERE [parameter_name] = '@BegDate'
UNION ALL
SELECT [specific_name] FROM information_schema.parameters WHERE [parameter_name] = '@EndDate')
SELECT [specific_name] 
FROM T
GROUP BY [specific_name] HAVING COUNT(*) = 4

或仅找到具有4个参数的所有过程:

SELECT [specific_name] FROM information_schema.parameters GROUP BY [specific_name] HAVING COUNT(*) = 4

本文地址:https://www.itbaoku.cn/post/1793975.html