1.查询表的相关信息
查询结果如下:
查询脚本如下:
select tt1.owner, tt1.table_name, tt1.comments, tt1.last_analyzed, tt1.num_rows, tt2.colcnt from (select t1.owner, t1.table_name, c1.comments, t1.last_analyzed, t1.num_rows from all_tables t1, ALL_TAB_COMMENTS c1 where t1.owner = c1.owner and t1.table_name = c1.table_name) tt1, (select t5.OWNER, t5.TABLE_NAME, count(1) as colcnt from dba_tab_columns t5 where t5.OWNER not in ('SYS', 'SYSTEM', 'OUTLN', 'DIP', 'ORACLE_OCM', 'DBSNMP', 'APPQOSSYS', 'WMSYS', 'EXFSYS', 'CTXSYS', 'XDB', 'ANONYMOUS', 'ORDSYS', 'ORDDATA', 'ORDPLUGINS', 'SI_INFORMTN_SCHEMA', 'MDSYS', 'OLAPSYS', 'MDDATA', 'SPATIAL_WFS_ADMIN_USR', 'SPATIAL_CSW_ADMIN_USR', 'SYSMAN', 'MGMT_VIEW', 'FLOWS_FILES', 'APEX_PUBLIC_USER', 'APEX_030200', 'OWBSYS', 'OWBSYS_AUDIT', 'SCOTT', 'HR', 'OE', 'IX', 'SH', 'PM', 'BI', 'XS$NULL') group by t5.OWNER, t5.TABLE_NAME) tt2 where tt1.owner = tt2.owner and tt1.table_name = tt2.table_name order by tt1.owner, tt1.table_name
2.查询字段相关信息
查询结果如下:
查询脚本如下:
select ttt1.owner, ttt1.table_name, ttt1.column_name, ttt1.DATA_TYPE, ttt1.comments, (case ttt2.constraint_type when 'P' THEN 'Y' ELSE 'N' END) "是否主键", (case ttt3.constraint_type when 'R' THEN 'Y' ELSE 'N' END) "是否外键", (case ttt4.constraint_type when 'U' THEN 'Y' ELSE 'N' END) "是否唯一值", ttt1.NULLABLE from (select tt1.owner, tt1.table_name, tt1.column_name, tt1.DATA_TYPE, tt1.COLUMN_ID, tt2.comments, tt1.NULLABLE from (select t2.owner, t2.table_name, t2.column_name, t2.DATA_TYPE, t2.COLUMN_ID, t2.NULLABLE from all_tab_columns t2 where t2.owner not in ('SYS', 'SYSTEM', 'OUTLN', 'DIP', 'ORACLE_OCM', 'DBSNMP', 'APPQOSSYS', 'WMSYS', 'EXFSYS', 'CTXSYS', 'XDB', 'ANONYMOUS', 'ORDSYS', 'ORDDATA', 'ORDPLUGINS', 'SI_INFORMTN_SCHEMA', 'MDSYS', 'OLAPSYS', 'MDDATA', 'SPATIAL_WFS_ADMIN_USR', 'SPATIAL_CSW_ADMIN_USR', 'SYSMAN', 'MGMT_VIEW', 'FLOWS_FILES', 'APEX_PUBLIC_USER', 'APEX_030200', 'OWBSYS', 'OWBSYS_AUDIT', 'SCOTT', 'HR', 'OE', 'IX', 'SH', 'PM', 'BI', 'XS$NULL')) tt1, ALL_COL_COMMENTS tt2 where tt1.owner = tt2.owner and tt1.table_name = tt2.table_name and tt1.column_name = tt2.column_name) ttt1 left join (select col.owner, col.table_name, col.column_name, con.constraint_type from all_constraints con, all_cons_columns col where con.constraint_name = col.constraint_name and con.owner = col.owner and con.table_name = col.table_name and con.constraint_type = 'P') ttt2 on ttt1.owner = ttt2.owner and ttt1.table_name = ttt2.table_name and ttt1.column_name = ttt2.column_name left join (select col.owner, col.table_name, col.column_name, con.constraint_type from all_constraints con, all_cons_columns col where con.constraint_name = col.constraint_name and con.owner = col.owner and con.table_name = col.table_name and con.constraint_type = 'R') ttt3 on ttt1.owner = ttt3.owner and ttt1.table_name = ttt3.table_name and ttt1.column_name = ttt3.column_name left join (select col.owner, col.table_name, col.column_name, con.constraint_type from all_constraints con, all_cons_columns col where con.constraint_name = col.constraint_name and con.owner = col.owner and con.table_name = col.table_name and con.constraint_type = 'U') ttt4 on ttt1.owner = ttt4.owner and ttt1.table_name = ttt4.table_name and ttt1.column_name = ttt4.column_name order by ttt1.owner, ttt1.table_name, ttt1.COLUMN_ID