我想获得Oracle数据库中所有函数的列表,以及它们各自的修改日期.有没有可以为我提供此信息的SQL查询?

我try 使用以下查询:

SELECT * FROM DBA_OBJECTS
WHERE OBJECT_TYPE = 'FUNCTION'

这是我在Donald Burleson的一篇文章中找到的,但我收到了一条错误消息,指出:

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

推荐答案

如果您无法访问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

Sql相关问答推荐

仅 for each 唯一ID返回一个元素,并仅返回最新连接的记录

在Oracle中,如何删除具有特定值的行,仅当它是重复的行?

我需要一个regexp_like来只验证字母D或T、数字和管道

PostgreSQL:查找继承表中的特定记录属于哪个表

基于开始/结束日期重叠的BigQuery突发行

PostgreSQL中递归CTE查询的故障过滤

Proc SQL Select Distinct SAS

通过UPDATE SELECT更新表时出现问题

将varchar (7)列转换为datetime

在where语句中使用CTE非常缓慢

删除重复记录但保留最新的SQL查询

根据是否存在值组合分组并 Select 行

获取 SQL Server 中每一行的两个-之间的文本

为 sqlite 全文搜索 (fts) 创建触发器时出现虚拟表的不安全使用

PostgreSQL:通过数组的元素从另一个表中 Select 数据,然后按顺序显示

将有效数字作为 varchar 返回的 SQL 函数

具有日期时间条件的存储过程

如何从 2 个 SQLite 表构建嵌套对象?

根据条件列出不同的值

将单行中的多个行值转换为列