So löschen sie doppelte datensätze in oracle

Wenn Sie in Oracle arbeiten, stellen Sie möglicherweise fest, dass einige Ihrer Datensätze Duplikate haben. Sie können diese doppelten Zeilen löschen, indem Sie sie identifizieren und mit seiner ROWID- oder Zeilenadresse verwenden. Bevor Sie beginnen, sollten Sie eine Backup-Tabelle erstellen, falls Sie sie referenzieren müssen, nachdem Sie Datensätze gelöscht haben.

Schritte

Methode 1 von 4:
Identifizieren Ihres Duplikats
  1. Bildtitel Löschen Sie doppelte Datensätze in Oracle Step 1
1. Identifizieren Sie das Duplikat. Identifizieren Sie in diesem Fall das Duplizieren von Beispielen, "Alan." Stellen Sie sicher, dass die Datensätze, die Sie löschen möchten, tatsächlich Duplikate sind, indem Sie die SQL unten eingeben.
  • Bildtitel Löschen Sie doppelte Datensätze in Oracle Step 2
    2. Identifizieren aus einer Spalte mit dem Namen "Namen." In der Instanz einer Spalte benannt "Namen," Sie würden ersetzen "Spaltenname" mit Namen.
  • Bildtitel Löschen Sie doppelte Datensätze in Oracle Step 3
    3. Identifizierung aus anderen Säulen. Wenn Sie versuchen, das Duplizieren von einer anderen Säule zu identifizieren, beispielsweise das Alter von Alan und nicht als sein Name, würden Sie eingeben "Älter" anstelle von "Spaltenname" und so weiter.
    Wählen Sie spaltenname, zählen (column_name) von tableGroup von column_nameHaving count (column_name) > 1-
  • Methode 2 von 4:
    Ein einzelnes Duplikat löschen
    1. Bildtitel Löschen Sie doppelte Datensätze in Oracle Step 4
    1. Wählen "Name von Namen." Nach dem "SQL," die für Standardabfragesprache steht, geben Sie ein "Name aus Namen auswählen."
  • Bildtitel Löschen Sie doppelte Datensätze in Oracle Step 5
    2. Löschen Sie alle Reihen mit dem doppelten Namen. Nach dem "SQL," eingeben "Löschen Sie von Namen, an denen Name = "Alan"-." Beachten Sie, dass die Kapitalisierung hier wichtig ist, sodass alle die genannten Zeilen gelöscht werden "Alan." Nach dem "SQL," eingeben "verpflichten."
  • Bildtitel Löschen Sie doppelte Datensätze in Oracle Step 6
    3. Mieter die Zeile ohne Duplikat. Nun, da Sie alle Zeilen mit dem Beispielnamen gelöscht haben "Alan," Sie können einen Rücken durch Eingabe einsetzen "Geben Sie in Namenswerte ein (`Alan`)-." Nach dem "SQL," eingeben "verpflichten" So erstellen Sie Ihre neue Zeile.
  • Bildtitel Löschen Sie doppelte Datensätze in Oracle Step 7
    4. Sehen Sie sich Ihre neue Liste an. Wenn Sie die oben genannten Schritte abgeschlossen haben, können Sie überprüfen, ob Sie nicht mehr doppelte Datensätze mehr durch Eingabe haben "Wählen Sie * von Namen aus."
    SQL > Wählen Sie den Namen von Namen-Namen ---------------------------------------------- AlancarrietomalanRows ausgewählt.SQL > Löschen Sie von Namen, in denen Name = `Alan`-Zeilen gelöscht werden.SQL > Commit-Commit komplett.SQL > Geben Sie in Namenswerte ein (`Alan`) - Zeile erstellt.SQL > Commit-Commit komplett.SQL > Wählen Sie * von Namen-Namen --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
  • Methode 3 von 4:
    Mehrere Duplikate löschen
    1. Bildtitel Löschen Sie doppelte Datensätze in Oracle Step 8
    1. Wählen Sie den ROWID aus, den Sie löschen möchten. Nach dem "SQL," eingeben "Wählen Sie ROWID, Name von Namen aus-."
  • Bildtitel Löschen Sie doppelte Datensätze in Oracle Step 9
    2. Das Duplikat löschen. Nach dem "SQL," eingeben "Löschen Sie von Namen A wo RowID > (Wählen Sie MIN (ROWID) aus Namen B, wo B.Name = A.Name)-" Um doppelte Datensätze zu löschen.
  • Bildtitel Löschen Sie doppelte Datensätze in Oracle Schritt 10
    3. Überprüfen Sie auf Duplikate. Nachdem Sie das oben genannte abgeschlossen haben, überprüfen Sie, ob Sie immer noch doppelte Datensätze durch Eingabe haben "wählen ROWID Namen von Namen-" und dann "verpflichten."
    SQL > Wählen Sie ROWID, Name von Namen-RowidName --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------ AABJnsAAGAAAdfOAAA AlanAABJnsAAGAAAdfOAAB AlanAABJnsAAGAAAdfOAAC CarrieAABJnsAAGAAAdfOAAD TomAABJnsAAGAAAdfOAAF Alanrows ausgewählten.SQL > Löschen Sie von Namen ROWID > (Select min (rowid) von Namen bwhere b.Name = A.Name) -ROws gelöscht.SQL > Wählen Sie ROWID, Name von Namen-RowidName --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------AabjnsaagaAdfoaaa alanaabjnsaagaAdfoAac CARRIEABJNSAAGAAADFOAAD TOMROWS AUSGEWÄHLT.SQL > Commit-Commit komplett.
  • Methode 4 von 4:
    Löschen von Zeilen mit Spalten
    1. Bild betitelt Löschen Doppelte Datensätze in Oracle Schritt 11
    1. Wählen Sie Ihre Reihen aus. Nach dem "SQL," eingeben "Wählen Sie * von Namen aus-" um deine Reihen zu sehen.
  • Bildtitel Löschen Sie doppelte Datensätze in Oracle Step 12
    2. Löschen von doppelten Zeilen durch ihre Spalte identifiziert. Nach dem "Sql `" eingeben "Löschen von Namen ein, wo Rowid > (Select min (rowid) von Namen b wobei b.Name = A.Name und B.Alter = A.Alter)-" die doppelte Datensätze löschen.
  • Bildtitel Löschen Sie doppelte Datensätze in Oracle Step 13
    3. Prüfen Sie nach Duplikaten. Sobald Sie die obigen Schritte ausgefüllt haben, geben Sie ein "Wählen Sie * von Namen aus-" und dann "verpflichten" Um zu überprüfen, ob Sie die doppelten Datensätze erfolgreich gelöscht haben.
    SQL > Wählen Sie * von Namen-Nameage --------------------------------------------------------------------------alan50Rows ausgewählt.SQL > Löschen von Namen awhere Rowid > (Select min (rowid) von Namen bwhere b.Name = A.nameand B.Alter = A.Alter) -Rewäsche gelöscht.SQL > select * from Namen-NAMEAGE ------------------------------ ---------- Alan50Carrie51Tom52rows ausgewählt.SQL > Commit-Commit komplett.
  • Tipps

    Warnungen

    Erstellen Sie eine Backup-Tabelle in Ihrem eigenen Zeichen-in, das Sie verwenden können, um zu zeigen, was es war, bevor eine Lösch aufgetreten ist (falls es irgendwelche Fragen).
    SQL > create table alan.names_backup als SELECT * von Name-Table erstellt.
    In Verbindung stehende Artikel