2014-12-02 49 views
0

我想寫一個查詢來獲取最新的架構更改到Oracle上的表或存儲過程。Oracle查詢以獲取最新的表或存儲過程模式更改?

這是如何做到這一點上的Sybase:

select top 10 name from sysobjects where type = 'U' order by crdate desc 

(我接受,這是建立在創建日期,而不是修改日期 - 我會很感激的人誰可以告訴我怎麼在修改日期的作品Sybase的表格,但我正在尋找的是Oracle模式更改日期)。

我的問題是:什麼是Oracle查詢以獲取最新的表或存儲過程模式更改?

回答

0

如果你想具體介紹一下表或過程,你可以限制像下面

11g數據庫

select * from 
(SELECT * FROM user_objects where OBJECT_TYPE in ('TABLE','PROCEDURE') ORDER BY last_ddl_time DESC) 
where rownum <= 10; 

的以上將在表格或過程中給出最新更改的對象。

而在12C數據庫沒有必要使用子查詢

SELECT * FROM user_objects 
    where OBJECT_TYPE in ('TABLE','PROCEDURE') 
    ORDER BY last_ddl_time DESC 
     FETCH FIRST 10 ROWS ONLY; 
0
select * from 
(SELECT * FROM user_objects ORDER BY last_ddl_time DESC) 
where rownum <= 10; 

user_objects包含由當前用戶所擁有的所有對象(=當前模式對象)

all_objects包含所有用戶在其上具有任何特權

dba_objects包含所有DB對象的對象(需要一些特殊權限才能訪問)。

ALL_和DBA_有附加列owner