Hoe dubbele records in oracle te verwijderen

Bij het werken in Oracle kunt u merken dat sommige van uw records duplicaten hebben. U kunt deze dubbele rijen verwijderen door ze te identificeren en het ringide of rij-adres te gebruiken. Voordat u begint, moet u een back-uptabel maken voor het geval u ze moet verwijzen nadat u records hebt verwijderd.

Stappen

Methode 1 van 4:
Identificatie van uw duplicaat
  1. Titel afbeelding Verwijder dubbele records in Oracle Stap 1
1. Identificeer het duplicaat. Identificeer in dit geval het voorbeeld duplicaat, "Alan." Zorg ervoor dat de records die u probeert te verwijderen eigenlijk duplicaten zijn door de SQL hieronder in te voeren.
  • Titel afbeelding Verwijder Dubbele records in Oracle Stap 2
    2. Identificatie van een kolom met de naam "Namen." In het geval van een genaamd kolom "Namen," je zou vervangen "kolomnaam" met namen.
  • Titel afbeelding Verwijder dubbele records in Oracle Stap 3
    3. Identificatie van andere kolommen. Als je probeerde het duplicaat te identificeren door een andere kolom, bijvoorbeeld de leeftijd van Alan in plaats van zijn naam, zou je binnengaan "Eeuwenlang" in plaats van "kolomnaam" enzovoorts.
    Select Column_Name, Count (Column_Name) van HableGroup door Column_NameHaving Count (Column_Name) > 1-
  • Methode 2 van 4:
    Een enkel duplicaat verwijderen
    1. Titel afbeelding Verwijder dubbele records in Oracle Stap 4
    1. Selecteren "Naam van namen." Na "SQL," die staat voor standaard querytaal, enter "Selecteer Naam van namen."
  • Titel afbeelding Verwijder dubbele records in Oracle Stap 5
    2. Verwijder alle rijen met de dubbele naam. Na "SQL," invoeren "Verwijderen uit namen waar naam = `Alan`-." Merk op dat kapitalisatie hier belangrijk is, dus dit zal alle genoemde rijen verwijderen "Alan." Na "SQL," invoeren "commit."
  • Titel afbeelding Verwijder Dubbele records in Oracle Stap 6
    3. Huurder de rij zonder dubbele. Nu u alle rijen hebt verwijderd met de voorbeeldnaam "Alan," je kunt er een invoegen door binnen te gaan "invoegen in naamwaarden (`Alan`)-." Na "SQL," invoeren "commit" om je nieuwe rij te maken.
  • Titel afbeelding Verwijder dubbele records in Oracle Stap 7
    4. Zie je nieuwe lijst. Nadat u de bovenstaande stappen hebt voltooid, kunt u controleren of u niet langer dubbele records hebt door binnen te gaan "Selecteer * van namen."
    SQL > Selecteer Naam van namen-naam ------------------------------- ALANCARRIETOMALANOWS Geselecteerd.SQL > Verwijderen uit namen waar naam = `Alan`-Rows verwijderd.SQL > commit-commit compleet.SQL > Invoegen in namenwaarden (`Alan`) - rij gemaakt.SQL > commit-commit compleet.SQL > Selecteer * van namen-naam ------------------------------- Aancarrietomrows geselecteerd.
  • Methode 3 van 4:
    Meerdere duplicaten verwijderen
    1. Titel afbeelding Verwijder dubbele records in Oracle Stap 8
    1. Selecteer de RowID die u wilt verwijderen. Na "SQL," invoeren "Selecteer RowID, naam van namen-."
  • Titel afbeelding Verwijder dubbele records in Oracle Stap 9
    2. Verwijder het duplicaat. Na "SQL," invoeren "Verwijderen uit namen A waar Rowid > (Selecteer Min (RowID) uit namen B waar B.naam = a.naam)-" Duplicate Records verwijderen.
  • Titel afbeelding Verwijder dubbele records in Oracle Stap 10
    3. Controleer op duplicaten. Nadat u het bovenstaande hebt voltooid, controleren opdrachten om te zien of u nog steeds dubbele records hebt door binnen te gaan "Selecteer RowID, naam van namen-" en dan "commit."
    SQL > Selecteer RowID, naam van namen-nrineIDNAME ------------------------------------------- ------ AABJNSAAGAADFOAAA ALANAABJNSAAGAADFOAB ALANAABJNSAAGAADFOAAC CARIEAABJNSAAGAAADFOAAD TOMAABJNSAAGAADFOAAF Alanrows Geselecteerd.SQL > Verwijderen uit namen puller Rowid > (Selecteer Min (RowID) van namen bhque b.naam = a.naam) -Rows verwijderd.SQL > Selecteer RowID, naam van namen-nrineIDNAME ------------------------------------------- ------- AABJNSAAGAADFOAAA ALANAABJNSAAGAADFOAAC CARIEAABJNSAAGAAADFOAAD TOMROWS GESELECTEERD.SQL > commit-commit compleet.
  • Methode 4 van 4:
    Rijen verwijderen met kolommen
    1. Titel afbeelding Verwijder dubbele records in Oracle Stap 11
    1. Selecteer je rijen. Na "SQL," invoeren "Selecteer * van namen-" om je rijen te zien.
  • Titel afbeelding Verwijder dubbele records in Oracle Stap 12
    2. Verwijder dubbele rijen door hun kolom te identificeren. Na "SQL `" invoeren "Verwijderen uit namen A waar Rowid > (Selecteer Min (RowID) uit namen B waar B.naam = a.naam en b.LEEFTIJD = A.leeftijd)-" om de dubbele records te verwijderen.
  • Titel afbeelding Verwijder dubbele records in Oracle Stap 13
    3. Controleer op duplicaten. Nadat u de bovenstaande stappen hebt voltooid, voert u in "Selecteer * van namen-" en dan "commit" Om te controleren of u de dubbele records met succes hebt verwijderd.
    SQL > Selecteer * van namen-namage ---------------------------------------- ALAN50CARRIE51TOM52Alan50Oven geselecteerd.SQL > Verwijderen uit namen puller Rowid > (Selecteer Min (RowID) van namen bhque b.naam = a.nameand b.LEEFTIJD = A.LEEFTIJD) - ROW VERWIJDERD.SQL > Selecteer * van namen-namage --------------------------------------- ALAN50CARRIE51TOM52On.SQL > commit-commit compleet.
  • Tips

    Waarschuwingen

    Maak een back-uptabel in uw eigen aanmelding die u kunt gebruiken om te laten zien wat er was voordat een delete is opgetreden (in het geval dat er vragen zijn).
    SQL > Maak een tafel Alan.NAMEN_BACKUP AS Selecteer * Van names-tabel gemaakt.
    Deel in het sociale netwerk:
    Vergelijkbaar