Hoe om dubbele rekords in oracle te verwyder

Wanneer u in Oracle werk, kan u vind dat sommige van u rekords duplikate het. U kan hierdie duplikaat rye uitvee deur hulle te identifiseer en sy roeide of ry adres te gebruik. Voordat jy begin, moet jy `n rugsteuntafel skep as jy dit moet verwys nadat jy rekords verwyder het.

Stappe

Metode 1 van 4:
Identifiseer jou duplikaat
  1. Beeld getiteld verwyder duplikaat rekords in Oracle Stap 1
1. Identifiseer die duplikaat. Identifiseer in hierdie geval die voorbeeld duplikaat, "Alan." Maak seker dat die rekords wat jy probeer verwyder, eintlik duplikate is deur die SQL hieronder te betree.
  • Image getiteld verwyder duplikaat rekords in Oracle Stap 2
    2. Identifiseer uit `n kolom wat genoem word "Name." In die geval van `n kolom genoem "Name," jy sal vervang "kolom_naam" met name.
  • Beeld getiteld verwyder duplikaat rekords in Oracle Stap 3
    3. Identifiseer van ander kolomme. As jy probeer het om die duplikaat deur `n ander kolom te identifiseer, byvoorbeeld die ouderdom van Alan eerder as sy naam, sal jy binnekom "Ouderdomme" in die plek van "kolom_naam" en so aan.
    Kies kolomnaam, telling (Column_name) van TableGroup deur kolom_NameHaving Count (Column_Name) > 1-
  • Metode 2 van 4:
    `N enkele duplikaat verwyder
    1. Beeld getiteld verwyder duplikaat rekords in Oracle Stap 4
    1. Uitkies "Naam van name." Nadat "Sql," wat staan ​​vir standaard navraag taal, ENTER "Kies Naam van Name."
  • Beeld getiteld verwyder duplikaat rekords in Oracle Stap 5
    2. Verwyder al die rye met die duplikaat naam. Nadat "Sql," ingaan "Verwyder van name waar Naam = `Alan`-." Let daarop dat kapitalisasie hier belangrik is, dus sal dit al die rye genoem word "Alan." Nadat "Sql," ingaan "pleeg."
  • Beeld getiteld verwyder duplikaat rekords in Oracle Stap 6
    3. Huurder die ry sonder `n duplikaat. Noudat jy alle rye met die voorbeeld naam verwyder het "Alan," U kan een terug invoeg deur te betree "Voeg in naamwaardes in (`Alan`)-." Nadat "Sql," ingaan "pleeg" Om jou nuwe ry te skep.
  • Beeld getiteld verwyder duplikaat rekords in Oracle Stap 7
    4. Sien jou nuwe lys. Sodra u die bogenoemde stappe voltooi het, kan u seker maak dat u nie meer duplikaatrekords het deur in te gaan nie "kies * van name."
    Sql > Kies Naam van Name-Naam ------------------------------ AlanCarrieTomAlanRows gekies.Sql > Verwyder van name waar Naam = `Alan`-rye verwyder.Sql > commit-commit voltooi.Sql > Voeg in name waardes (`Alan`) - ry geskep.Sql > commit-commit voltooi.Sql > Kies * van name-naam ------------------------------ AlancarrieMrowes gekies.
  • Metode 3 van 4:
    Verwydering van verskeie duplikate
    1. Image getiteld verwyder duplikaat rekords in Oracle Stap 8
    1. Kies die ROWID wat jy wil verwyder. Nadat "Sql," ingaan "Kies Rowid, Naam van Name-."
  • Image getiteld verwyder duplikaat rekords in Oracle Stap 9
    2. Verwyder die duplikaat. Nadat "Sql," ingaan "Verwyder van name A waar Rowid > (kies min (Rowid) van name B waar b.Naam = a.Naam)-" Om dubbele rekords te verwyder.
  • Beeld getiteld verwyder duplikaat rekords in Oracle Stap 10
    3. Kontroleer vir duplikate. Nadat u bogenoemde voltooi het, maak Commands om te sien of u nog duplikaatrekords het deur in te gaan "Kies Rowid, Naam van Name-" en dan "pleeg."
    Sql > Kies Rowid, Naam van Name-Rowidname ------------------ ------------------------ ------ AABJNSAAGAAADFOAAA ALANAABJNSAAGAAADFOAAB ALANAABJNSAAGAAADFOAAC CARRIETEABJNSAAGAAADFOAAD TOMAABJNSAAGAAADFOAAF ALANRUGE CUESETES.Sql > Verwyder uit name op Rowid > (kies min (rowid) van name bhere b.Naam = a.Naam) - Growed verwyder.Sql > Kies Rowid, Naam van Name-Rowidname ------------------ ------------------------ ------ AABJNSAAGAAADFOAAA ALANAABJNSAAGAAADFOAAC CarrieAabjnsaagaaadfoaad Tomrows Geselekteerde.Sql > commit-commit voltooi.
  • Metode 4 van 4:
    Rye met kolomme verwyder
    1. Image getiteld verwyder duplikaat rekords in Oracle Stap 11
    1. Kies jou rye. Nadat "Sql," ingaan "kies * van name-" Om jou rye te sien.
  • Image getiteld verwyder duplikaat rekords in Oracle Stap 12
    2. Verwyder duplikaat rye deur hul kolom te identifiseer. Nadat "SQL `" ingaan "Verwyder van name A waar Rowid > (kies min (Rowid) van name B waar b.Naam = a.Naam en B.Ouderdom = a.Ouderdom)-" Om die duplikaat rekords te verwyder.
  • Beeld getiteld verwyder duplikaat rekords in Oracle Stap 13
    3. Kontroleer vir duplikate. Sodra jy die bogenoemde stappe voltooi het, betree "kies * van name-" en dan "pleeg" Om seker te maak dat u die duplikaat rekords suksesvol verwyder het.
    Sql > Kies * Van Name-NameAge ------------------------------ ---------- Alan50Carrie51Tom52Alan50Rows gekies.Sql > Verwyder uit name op Rowid > (kies min (rowid) van name bhere b.Naam = a.Nameand B.Ouderdom = a.Ouderdom) -Row verwyder.Sql > Kies * Van Name-NameAge ------------------------------ ---------- Alan50Carrie51Tom52Rows gekies.Sql > commit-commit voltooi.
  • Wenke

    Waarskuwings

    Skep `n rugsteuntafel in jou eie aanmelding wat jy kan gebruik om te wys wat daar was voordat enige uitvee plaasgevind het (in geval daar enige vrae is).
    Sql > Skep Tabel Alan.name_backup as kies * van name-tafel geskep.
    Deel op sosiale netwerke:
    Soortgelyk