获取 Oracle 数据库中所有函数和过程的列表

2021-12-24 00:00:00 oracle plsql oracle9i

我正在比较三个 Oracle 模式.

I'm comparing three Oracle schemas.

我想获得每个数据库中使用的所有函数和过程的列表.这可以通过查询实现吗?(最好包括一个关于它们是否编译的标志)

I want to get a list of all the functions and procedures used in each database. Is this possible via a query? (preferably including a flag as to whether they compile or not)

理想情况下,最好有一个带有标志的查询,该标志说明函数/过程是否在每个模式中.但即使只是第一位也比手动检查每个架构要好.

Ideally it would be great to have a single query with a flag that states whether the function/procedure is in each schema. But even just the first bit would be better than manually inspecting each schema.

推荐答案

SELECT * FROM ALL_OBJECTS WHERE OBJECT_TYPE IN ('FUNCTION','PROCEDURE','PACKAGE')

STATUS 列告诉您对象是 VALID 还是 INVALID.如果无效,则必须重新编译,ORACLE 之前无法告诉您是否有效.

The column STATUS tells you whether the object is VALID or INVALID. If it is invalid, you have to try a recompile, ORACLE can't tell you if it will work before.

相关文章