我需要使用什么SQL来列出Oracle数据库中的所有存储过程?

Mik*_*aid 14 sql oracle stored-procedures

我需要使用什么SQL来列出Oracle数据库中的所有存储过程?

如果可能的话,我想要两个问题:

  1. 按名称列出所有存储过程
  2. 列出名称的存储过程的代码

Ada*_*ter 26

DBA_OBJECTS视图将列出的程序(以及几乎任何其他对象):

SELECT owner, object_name
FROM dba_objects 
WHERE object_type = 'PROCEDURE'
Run Code Online (Sandbox Code Playgroud)

DBA_SOURCE视图将列出相关过程的源代码行:

SELECT line, text
FROM dba_source
WHERE owner = ?
  AND name = ?
  AND type = 'PROCEDURE'
ORDER BY line
Run Code Online (Sandbox Code Playgroud)

注意:根据您的权限,您可能无法查询DBA_OBJECTSDBA_SOURCE查看.在这种情况下,您可以使用ALL_OBJECTSALL_SOURCE不是.该DBA_视图包含所有数据库中的对象,而ALL_观点仅包含那些你可以访问对象.