AnySQL中的特色功能介绍(六)

    很多时侯我们需要进行行列转换进行显示, 如下面的例子所示, 要查所有用户下的表和索引的个数时, 下面的输出是不是更容易看懂呢?

ASQL> CROSS SELECT OWNER,OBJECT_TYPE,COUNT(*)
    2 FROM DBA_OBJECTS
    3 WHERE OBJECT_TYPE IN ('TABLE','INDEX')
    4 GROUP BY OWNER,OBJECT_TYPE;

OWNER        INDEX TABLE
------------ ----- -----
TSMSYS           1     1
ANYSQL                 1
SYS            695   678
OUTLN            3     3
SYSTEM         179   141
XDB             51    36
FLOWS_FILES      4     1
DBSNMP          10    21
HR              19     8
FLOWS_020100   364   164
MDSYS           39    37
CTXSYS          46    37

12 rows returned.

    当数据库中遇到块坏时, 首先要确定这个坏块是属于那个对象的, 在AnySQL中可以用定制命令"ORA BLOCK 文件号 块号"来进行查询.

ASQL> ora block 1 9

OWNER NAME   PARTITION TYPE     TABLESPACE
----- ------ --------- -------- ----------
SYS   SYSTEM           ROLLBACK SYSTEM    

1 rows returned.

    数据库中的主键和外键表明了一种表之间的父子联系, 如何在命令行查这层关系呢? 在AnySQL中的"SHOW PARENT/CHILD"命令可以告诉你结果.

ASQL> show parent system.mview$_adv_level

FKNAME              TNAME                 PKNAME          
------------------- --------------------- -----------------
MVIEW$_ADV_LEVEL_FK SYSTEM.MVIEW$_ADV_LOG MVIEW$_ADV_LOG_PK

ASQL> show child system.mview$_adv_level

PKNAME              TNAME                    FKNAME              
------------------- ------------------------ ---------------------
MVIEW$_ADV_LEVEL_PK SYSTEM.MVIEW$_ADV_ROLLUP MVIEW$_ADV_ROLLUP_CFK
MVIEW$_ADV_LEVEL_PK SYSTEM.MVIEW$_ADV_ROLLUP MVIEW$_ADV_ROLLUP_PFK

    更多功能还在发现中, 如果你需要一些特定的功能, 告诉我, 我也可以集成进去.

发表留言: