Quoten sind hoch, dass , wenn Sie diesen Artikel lesen , werden Sie mit einer Oracle-Datenbank und schon entdeckt Duplikate in einem oder mehreren Ihrer Tabellen . Keine Sorge, können Duplikate zu eliminieren durch Ihren SQL-Code leicht getan . Jedoch, wie viele gute Programmierer wissen , nur weil man etwas löschen , bedeutet nicht, sollten Sie. Things You
Oracle Datenbank fà Oracle SQL * Plus brauchen Editor
anzeigen Weitere Anweisungen
1
Öffnen Sie Ihren SQL -Editor und ein Standard- SQL "Select "-Anweisung hochzuziehen Datensätze aus der Tabelle , wo Sie denken, die Duplikate existieren. Codebeispiel: "; . Contacts_ersch " SQL> SELECT Spalte1 , column2 von yourtablename In Abbildung 1 sind die " Vorname " und " USRID " Spalten aus einer Tabelle mit dem Namen ausgewählt worden Denken Sie an diese Tabelle hat zusätzliche Spalten mit Informationen , die nicht gezeigt werden, wie E-Mail -Adressen und Nachnamen . Berücksichtigen Sie , wie viele Datenpunkte in der Reihe wie möglich , um sicherzustellen, das Duplikat Zeile, die Sie zu tun haben ist wirklich ein Duplikat.
2
Überprüfen Sie die doppelte Verwendung des SQL "Count" -Funktion. Es gibt eine Vielzahl von Möglichkeiten zu finden und zu überprüfen Duplikate. In Abbildung 1 sind zwei Reihen mit dem Namen "David" und zwei weitere mit dem Namen " Natalie ". Da es sich um hypothetische Beispiel sind sowohl David und Natalie doppelte Einträge . Überprüfung nur ein Datenpunkt wie eine erste Name ist in der Regel nie genug so , gründlich zu sein , sind die gesamte Kontakt-Datensatz für jedes dieser Individuen Duplikate. Der einzige Unterschied zwischen den Datensätzen ist die " USRID " number.One Weg, um einen Scheck mit SQL durchführen, bevor Sie ein doppelter Datensatz ist , um die SQL "Count" -Funktion verwenden , um die Anzahl , wie oft der Wert existiert in einer Spalte finden löschen. Abbildung 2 verwendet eine Variante des Codes für die Suche nach Duplikaten mit SQL.Some Code zum Beispiel : SQL> SELECT Spalte1 , Count ( column1 ) Wie NumOccurrencesFrom yourtablenameGroup von column1Having ( Count ( column1 )> 1 );
3
löschen doppelte hintereinander mit einer SQL "Delete "-Anweisung. Der Code kann wie folgt aussehen : " . Natalie " SQL > Löschen von yourtablenameWhere column2 = Wert, den Sie wählen aus column2Figure 3 zeigt die Verwendung des " USRID "-Spalte und den entsprechenden Wert von sechs bis Sie den doppelten Eintrag für löschen Idealerweise gibt es eine eindeutige Kennung , die Teil eines doppelten Datensatz wird. Eine eindeutige Kennung in einer Reihe wie ein Index-Nummer oder Rekordzahl besser vorbereiten und ermöglichen es Ihnen zu entschlüsseln unter den Duplikaten , die Sie löschen möchten.
4
Überprüfen Sie Ihre Löschung , indem Sie Schritt 1 . Abbildung 4 zeigt, dass mit der Nutzung des SQL "Delete "-Anweisung sowohl der doppelten Einträge für David und Natalie gelöscht wurden. Anschließend gibt es auch eine scheinbare Lücke in den Reihen der " USRID " Spalte angezeigt.