Я предпочитаю SQL-запрос для выполнения этого, но другие варианты также могут быть полезны.Как узнать, когда хранимая процедура была в последний раз модифицирована или скомпилирована в Oracle?
17
A
ответ
26
SELECT LAST_DDL_TIME, TIMESTAMP
FROM USER_OBJECTS
WHERE OBJECT_TYPE = 'PROCEDURE'
AND OBJECT_NAME = 'MY_PROC';
LAST_DDL_TIME
последний раз, когда он был составлен. TIMESTAMP
- последний раз, когда он был изменен.
Процедуры, возможно, придется перекомпилировать, даже если они не изменились при изменении зависимостей.
0
SELECT name, create_date, modify_date
FROM sys.procedures order by modify_date desc
0
После запроса будет делать в Oracle
SELECT * FROM ALL_OBJECTS WHERE OBJECT_NAME = 'OBJ_NAME' ;
я не могу найти USER_OBJECTS. Ошибка при выполнении этого запроса – kbvishnu 2010-12-09 04:40:20
@Harie - это потому, что этот вопрос касается Oracle, а не SQL Server. – ninesided 2011-11-03 09:52:33
Имеет ли описание `LAST_DDL_TIME` и` TIMESTAMP`? Я просто перекомпилировал тело пакета (это было недопустимо): `alter package foo compile the reuse settings 'и оба столбца, где они обновлены. Другое отличие в том, что я запрашиваю `DBA_OBJECTS` (но это не имеет значения?). – user272735 2012-08-23 06:33:37