【发布时间】:2013-09-05 06:09:01
【问题描述】:
我一直在尝试找到一种方法来在 Oracle 中加入 all_tab_columns 和 all_cons_columns,以便我可以提取架构中每种数据类型的列数以及这些列所采用的约束数的信息参与。我能够通过以下查询提取有关表名和每种数据类型的列数的信息:
SELECT DISTINCT atc.TABLE_NAME,
atc.DATA_TYPE,
COUNT(atc.DATA_TYPE)
FROM all_tab_columns atc
WHERE atc.OWNER = 'PARRANDEROS'
GROUP BY atc.DATA_TYPE,
atc.TABLE_NAME
但是当尝试从all_cons_columns 添加信息时,一切都会变得混乱。这是想到的查询,但结果没有意义:
SELECT DISTINCT atc.TABLE_NAME,
atc.DATA_TYPE,
COUNT(acc.COLUMN_NAME),
COUNT(atc.DATA_TYPE)
FROM all_tab_columns atc
INNER JOIN all_cons_columns acc
ON acc.COLUMN_NAME = atc.COLUMN_NAME AND
acc.TABLE_NAME = atc.TABLE_NAME
WHERE atc.OWNER = 'PARRANDEROS'
GROUP BY atc.DATA_TYPE,
atc.TABLE_NAME,
acc.COLUMN_NAME
如果我不够清楚,请告诉我。我对 SQL 很陌生,但一直在努力寻找解决方案。
【问题讨论】:
标签: sql oracle metadata sqldatatypes