【檢視】oracle 資料字典檢視之 “小”檢視 CAT, TAB, SEQ, SYN ...

secooler發表於2009-03-18
1.使用下面這個sql語句,可以獲得我們非常常用的一些短小精悍的檢視,這些檢視通常是最常用的使用者級別資料庫物件
SELECT   *
    FROM dict
   WHERE table_name NOT LIKE '%$%'
     AND table_name NOT LIKE '%\_%' ESCAPE '\'
     AND LENGTH (table_name) < 10
ORDER BY 1;

2.演示操作執行結果
sys@ora10g> SELECT   *
  2      FROM dict
  3     WHERE table_name NOT LIKE '%$%'
  4       AND table_name NOT LIKE '%\_%' ESCAPE '\'
  5       AND LENGTH (table_name) < 10
  6  ORDER BY 1;

TABLE_NAME  COMMENTS
----------- ---------------------------------
CAT         Synonym for USER_CATALOG
CLU         Synonym for USER_CLUSTERS
COLS        Synonym for USER_TAB_COLUMNS
DICT        Synonym for DICTIONARY
DUAL
IND         Synonym for USER_INDEXES
OBJ         Synonym for USER_OBJECTS
SEQ         Synonym for USER_SEQUENCES
SYN         Synonym for USER_SYNONYMS
TABS        Synonym for USER_TABLES

10 rows selected.

3.結果非常的令人振奮,都是非常熟悉,非常親切的檢視!下面是CAT輸出效果
scott@ora10g> desc cat;
 Name         Null?    Type
 ------------ -------- -------------------------
 TABLE_NAME   NOT NULL VARCHAR2(30)
 TABLE_TYPE            VARCHAR2(11)

scott@ora10g> select * from cat;

TABLE_NAME  TABLE_TYPE
----------- -----------
DEPT        TABLE
EMP         TABLE
BONUS       TABLE
SALGRADE    TABLE

4.類似的還有TAB檢視,他是sys使用者下的檢視,授權給public的一個同名
scott@ora10g> desc tab;
 Name         Null?    Type
 ------------ -------- ----------------
 TNAME        NOT NULL VARCHAR2(30)
 TABTYPE               VARCHAR2(7)
 CLUSTERID             NUMBER

scott@ora10g> select * from tab;

TNAME        TABTYPE  CLUSTERID
------------ ------- ----------
DEPT         TABLE
EMP          TABLE
BONUS        TABLE
SALGRADE     TABLE

5.小結
熟練使用這些“小”檢視,可以極大的提高運算元據庫的效率。
不過這些“小”資料字典是由侷限性的,請興趣的朋友可以進一步探索一下這些資料庫物件的出處。

-- The End --

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-571454/,如需轉載,請註明出處,否則將追究法律責任。

相關文章