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

4
我想获取Oracle数据库中所有函数的列表,以及它们各自的修改日期。是否有一条SQL查询可以提供这些信息?
我尝试使用以下查询:
SELECT * FROM DBA_OBJECTS
WHERE OBJECT_TYPE = 'FUNCTION'

在 Donald Burleson 的文章中我找到了这段代码,但是我收到了一个错误信息,上面写着:

ORA-00942: 表或视图不存在。


1
也许您没有权限。如果想查看您可以访问的所有函数,请尝试使用 all_objects - Thorsten Kettner
1个回答

6
如果您无法访问 DBA_OBJECTS 视图,很可能是由于DBA没有授予必要的权限,因为该视图包含整个数据库所有对象的元数据。
然而,您可以使用 ALL_OBJECTS 视图,该视图仅包含您的用户可以访问的对象的元数据。因此,如果您能够访问此视图,您可以利用其 LAST_DDL_TIME 列,该列提供了每个对象上一个DDL语句(包括授权和撤销)修改的时间戳。
话虽如此,您应该按以下方式更新查询:
SELECT OBJECT_NAME, LAST_DDL_TIME
FROM ALL_OBJECTS
WHERE OBJECT_TYPE = 'FUNCTION'
ORDER BY LAST_DDL_TIME DESC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接