如何获取包oracle中所有程序的列表

2021-12-24 00:00:00 oracle plsql data-dictionary

我可以获取包内所有函数的名称吗?假设我有一个包 PKG_OWA 并且我想列出包中的所有过程.

Can I get the name of all the function inside a package. Suppose I have a package PKG_OWA and I want to list all the procedure inside the package.

推荐答案

数据字典视图 ALL_PROCEDURES(或者 USER_PROCEDURES,如果你只想要你的包).了解更多信息.

The data dictionary view ALL_PROCEDURES (or USER_PROCEDURES if you just want your packages). Find out more.

 select procedure_name
 from all_procedures
 where owner = 'YOU'
 and object_name = 'YOUR_PACKAGE'

<小时>

这列出了包规范中公开的公共过程.除了处理源文本之外,没有简单的方法可以检索私有过程(即,仅在包体中指定的过程).Oracle 确实提供了一个实用程序 PL/SCOPE,我们可以使用它来收集这些信息,但是它需要我们更改会话设置并重新编译我们的代码,因此它可能不适用于所有情况.了解详情.

相关文章