如何检查oracle中的所有字段是否都是唯一的?

时间:2010-10-24 20:32:41

标签: sql oracle unique

大家好简单的问题,但找不到任何东西。

由于

3 个答案:

答案 0 :(得分:28)

SELECT myColumn, COUNT(*)
FROM myTable
GROUP BY myColumn
HAVING COUNT(*) > 1

如果它们的出现次数大于1(即它们不是唯一的),这将返回所有myColumn值及其出现次数。

如果此查询的结果为空,则此列中包含唯一值。

答案 1 :(得分:2)

一种简单的方法是使用DBMS_STATS分析表。完成后,您可以查看dba_tables ...查看num_rows列。看看dab_tab_columns。将每列的num_distinct与行数进行比较。如果您担心影响巨大的桌子上的生产系统,这是一个关于做你想做的事情而不执行全表扫描的方法。如果您想要直接结果,请执行其他人建议的操作,方法是使用group by运行查询。

答案 2 :(得分:1)

一种方法是创建一个唯一索引。 如果索引创建失败,则表示存在重复信息,如果插入失败,则会产生重复...