2008-11-17 45 views

Respuesta

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

LAST_DDL_TIME es la última vez que fue compilado. TIMESTAMP es la última vez que se cambió.

Puede ser necesario volver a compilar los procedimientos aunque no hayan cambiado cuando cambia una dependencia.

+1

no puedo encontrar user_objects. Se está produciendo un error al ejecutar esta consulta – kbvishnu

+2

@Harie - eso se debe a que esta pregunta es sobre Oracle, no SQL Server. – ninesided

+0

¿Se cumple la descripción de 'LAST_DDL_TIME' y' TIMESTAMP'? Acabo de volver a compilar un cuerpo del paquete (no era válido): 'alterar el paquete para compilar la configuración de reutilización del cuerpo;' y ambas columnas fueron actualizadas. Otra diferencia es que consulto 'DBA_OBJECTS' (¿pero eso no debería importar?). – user272735

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

Eso no funcionará para Oracle. –

+0

Ese es el servidor sql –

0

siguiente consulta va a hacer en Oracle

SELECT * FROM ALL_OBJECTS WHERE OBJECT_NAME = 'OBJ_NAME' ; 
+4

@Thilakan - Si va a consultar 'ALL_OBJECTS', debe incluir un predicado en' OWNER'; de lo contrario, puede obtener varias filas además del predicado 'OBJECT_TYPE' de la respuesta de WW hace un par de años. Probablemente también debería tener en cuenta que 'ALL_OBJECTS' contiene todos los objetos que el usuario actual tiene privilegios sobre no todos los objetos en la base de datos que estarían en' DBA_OBJECTS'. –

Cuestiones relacionadas