如何列出Oracle数据库中的所有函数并按其修改日期对其进行排序

ix0qys7i  于 2023-02-18  发布在  Oracle
关注(0)|答案(1)|浏览(168)

我想获得Oracle数据库中所有函数的列表,沿着它们各自的修改日期。是否有SQL查询可以提供此信息?
我尝试使用以下查询:

SELECT * FROM DBA_OBJECTS
WHERE OBJECT_TYPE = 'FUNCTION'

这是我在Donald伯莱森的文章中找到的,但我收到了一条错误消息,指出:
ORA-00942:表或视图不存在。

gg0vcinb

gg0vcinb1#

如果您无法访问DBA_OBJECTS视图,可能是由于DBA没有授予必要的权限,因为该视图包含整个数据库的所有对象的元数据。
但是,您可以使用ALL_OBJECTS视图,该视图只包含用户有权访问的对象的元数据。因此,如果您能够访问该视图,则可以使用其LAST_DDL_TIME列,该列提供了DDL语句(包括赠款和revoke)生成的每个对象的上次修改的时间戳。
也就是说,您的查询应更新如下:

SELECT OBJECT_NAME, LAST_DDL_TIME
FROM ALL_OBJECTS
WHERE OBJECT_TYPE = 'FUNCTION'
ORDER BY LAST_DDL_TIME DESC

相关问题