10
votes

Comment vérifier si tous les champs sont uniques à Oracle?

Comment vérifier si tous les champs sont uniques à Oracle?


3 commentaires

Vous devez fournir beaucoup plus d'informations. Le strict minimum est la structure / la définition de votre table (s) idéalement comme une déclaration de table Create. Ensuite, quelques données d'échantillons et le résultat attendez-vous de ces échantillons de données.


Tous les champs d'une colonne dans le tableau


@Burjua S'il vous plaît changer le libellé de votre question afin qu'il soit plus explicatif. Ceci est une question de dB importante mais elle est formulée très peu claire.


3 Réponses :


1
votes

Un moyen est de créer un index unique. Si la création d'index échoue, vous avez des informations en double existantes, si un insert échoue, il aurait produit un duplicata ...


0 commentaires

35
votes
SELECT myColumn, COUNT(*)
FROM myTable
GROUP BY myColumn
HAVING COUNT(*) > 1
This will return to you all myColumn values along with the number of their occurence if their number of occurences is higher than one (i.e. they are not unique). If the result of this query is empty, then you have unique values in this column.

0 commentaires

3
votes

Un moyen facile de faire est d'analyser la table à l'aide de DBMS_Stats. Après avoir fait, vous pouvez regarder dba_tables ... Regardez la colonne NUM_ROWS. Le regard sur dab_tab_columns. Comparez le num_distinct pour chaque colonne au nombre de lignes. C'est une ronde sur la manière de faire ce que vous voulez sans effectuer une numérisation de table complète si vous craignez d'affecter un système de production sur une immense table. Si vous voulez des résultats directs, faites ce que les autres suggèrent en exécutant la requête contre la table avec un groupe par.


0 commentaires