如何找出Oracle上次修改或编译存储过程的时间?

时间:2008-11-17 23:48:22

标签: sql oracle stored-procedures plsql oracle10g

我最好找一个SQL查询来完成这个,但其他选项也可能有用。

4 个答案:

答案 0 :(得分:28)

SELECT LAST_DDL_TIME, TIMESTAMP
FROM USER_OBJECTS
WHERE OBJECT_TYPE = 'PROCEDURE'
AND OBJECT_NAME = 'MY_PROC';

LAST_DDL_TIME 是最后一次编译。 TIMESTAMP 是最后一次更改。

即使在依赖项发生变化时没有更改过程,也可能需要重新编译过程。

答案 1 :(得分:0)

SELECT name, create_date, modify_date 
FROM sys.procedures order by modify_date desc

答案 2 :(得分:0)

以下查询将在Oracle中进行

 SELECT * FROM ALL_OBJECTS WHERE OBJECT_NAME = 'OBJ_NAME' ;

答案 3 :(得分:0)

在谷歌搜索特定日期之后更改的PLSQL软件包时,我到达了这里,与上面的问题有点类似。 使用上面的WW.s答案,我找到了此查询以查找任何“最近”更改的对象:

SELECT LAST_DDL_TIME, TIMESTAMP, OBJECT_NAME, object_type
FROM USER_OBJECTS
WHERE  -- OBJECT_TYPE IN ( 'PROCEDURE', 'PACKAGE', 'PACKAGE BODY', 'VIEW', 'FUNCTION' ) AND
  TIMESTAMP > '2019-02-20'
ORDER BY TIMESTAMP DESC;