有没有办法查询数据库并检索所有存储过程及其参数的列表?
我使用SQL Server 2000中如何获得以某个前缀开头的所有存储过程及其参数的列表?
10
A
回答
26
获取信息的存储过程:
SELECT * FROM INFORMATION_SCHEMA.ROUTINES
为了找到存储过程具有一定的前缀开始(例如 “USP”):
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME LIKE 'usp%'
查找存储过程的所有参数:
SELECT * FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME='YourSprocName'
要查找开始具有一定的前缀的所有存储过程的所有参数:
SELECT * FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME LIKE 'usp%'
4
试试这个:
select o.name,p.name from sys.all_parameters p inner join sys.all_objects o on p.object_id = o.object_id
where o.type = 'P'
-1
以下查询由前缀返回程序,功能和过滤器。 我不确定,但如果它能在sql server 2000上工作。 无论如何,我将它留在这里作为参考,因为它是一个非常有用的查询。
SELECT SCHEMA_NAME(SCHEMA_ID) AS [Schema],
SO.name AS [ObjectName],
SO.Type_Desc AS [ObjectType (UDF/SP)],
COALESCE(P.parameter_id,0) AS [ParameterID],
COALESCE(P.name, 'NO PARAMETER') AS [ParameterName],
COALESCE(TYPE_NAME(P.user_type_id),'') AS [ParameterDataType],
COALESCE(P.max_length,0) AS [ParameterMaxBytes],
COALESCE(P.is_output,0) AS [IsOutPutParameter]
FROM sys.objects AS SO
LEFT OUTER JOIN sys.parameters AS P
ON SO.OBJECT_ID = P.OBJECT_ID
WHERE SO.OBJECT_ID IN (SELECT OBJECT_ID
FROM sys.objects
WHERE TYPE IN ('P','FN'))
AND SO.NAME LIKE 'U%' --starting with a certain prefix
ORDER BY [Schema], SO.name, P.parameter_id
GO
1
要显示的所有过程和它们的参数列表,这将是这样:
SELECT o.name AS [Procedure name], p.name as [Parameter name]
FROM sys.parameters p INNER JOIN sysobjects o ON p.object_id = o.id
WHERE o.name LIKE 'prefix%' AND o.xtype = 'P'
它可以在SQL Server 2016,但我想它在旧版本中工作过。
相关问题
- 1. 我如何获得所有不以“某物”开头的文件?
- 2. 选择一个数字列表以及以sql开头的所有nuber列表
- 3. 获得Oracle存储过程的参数
- 4. 有没有办法用PDO获取存储过程的参数及其顺序?
- 5. 如何测试一个字符串是否以一个外壳前缀列表中的前缀开头
- 6. Lucene:查找以特定前缀开头的所有单词
- 7. Python的大熊猫 - 如何获得前n值以及所有其他值
- 8. SQL Server查询返回所有存储过程,函数,表和视图及其参数/列
- 9. 如何选择名称以相同前缀开头的列?
- 10. 如何获得以相同单词开头的所有会话?
- 11. 如何获得以指定字母开头的所有单词
- 12. 查找以特定前缀/后缀开头/结尾的列表/文件中的所有单词
- 13. 如何获得其存储在jquery.data所有数据()
- 14. 使用其他存储过程的存储过程列表
- 15. TCLAP:所有参数的输出列表及其各自的值
- 16. 如何避免存储过程的长参数列表?
- 17. 如何通过数据表中的SQL存储过程有多个参数
- 18. 如何获取所有名称以某个字符串开头的元素?
- 19. 如何获得一个类中的常量列表及其值
- 20. 列出所有进程及其当前内存和CPU消耗?
- 21. 是否有可能搜索Aerospike中以某个前缀开头的所有密钥?
- 22. 如何获得通过返回的所有消息\错误存储过程:
- 23. 如何选择密钥以Hive中前缀开头的某些行?
- 24. 带有可变参数列表的MySQL存储过程
- 25. 获取存储过程的参数
- 26. 如何将具有参数的SQL Server存储过程转换为具有参数的Oracle存储过程?
- 27. 来自以前所有者的MS SQL数据库表前缀
- 28. 在另一个存储过程中获取存储过程的参数。
- 29. 列出所有过程以及该过程在Oracle中使用的表和列
- 30. 如何获得当前的categorys根父类及其所有子类
+1。然而,关于请求的前缀的事情。 – AxelEckenberger 2010-02-28 11:56:28
我应该将WHERE SPECIFIC_NAME = ...更改为LIKE“MyTable_ *”吗? – 2010-02-28 11:59:52
用2个更多示例更新了我的答案,以便通过某个前缀进行搜索。 – AdaTheDev 2010-02-28 12:02:28