Cum să ștergeți înregistrările duplicate în Oracle

Când lucrați cu Oracle, pot apărea adesea înregistrări duplicate. Puteți elimina aceste rânduri duplicate identificându-le și utilizând propriile lor RowID (identificator de rânduri) sau adresa rândului. Înainte de a începe, trebuie să creați o copie de rezervă a tabelului în cazul în care trebuie să o revizuiți după ștergerea înregistrărilor.

pași

Metoda 1
Identificați înregistrările duplicate

Imaginea intitulată Ștergeți înregistrările duplicate din Oracle Pasul 1
1
Identificați înregistrările duplicate În acest caz, cazul va fi identificat "Alan" care apare de două ori în tabel. Asigurați-vă că înregistrările pe care încercați să le ștergeți sunt duplicate folosind următoarea instrucțiune SQL.
  • Imaginea intitulată Ștergeți înregistrările duplicate din Oracle Pasul 2
    2
    Identificați-le prin coloana numită "numele". De exemplu, dacă ați avut o coloană numită "numele", trebuie să le înlocuiți "COLUMN_NAME" de "numele".
  • 3
    Identificați-le prin alte coloane. Dacă ai de gând să încerce să identifice duplicat printr-o coloană diferită, de exemplu, uita la vârsta lui Alan, mai degrabă decât numele, introduceți "vârstele" în loc de "COLUMN_NAME" și așa mai departe.
  • SELECT column_name, COUNT (column_name) DIN GROUP TABEL DE column_name AVÂND COUNT (column_name) > 1-
    Imaginea intitulată Ștergeți înregistrările duplicate din Oracle Pasul 3

    Metoda 2
    Ștergeți o singură valoare duplicat

    Imaginea intitulată Ștergeți înregistrările duplicate din Oracle Pasul 4
    1
    Utilizați propoziția SELECT numele din numele. după SQL, ce vrei sa spui "Limba de interogare standard" (limba standardizată a consultărilor), scrieți SELECT numele din numele.
  • Imaginea intitulată Ștergeți înregistrările duplicate din Oracle Pasul 5
    2
    Ștergeți toate rândurile care conțin numele duplicat. după SQL, scrie fraza DELETE FROM nume WHERE nume = `Alan`. Rețineți că pentru a elimina toate coloanele cu numele "Alan" este important să scrieți prima literă în majuscule. după SQL, scrie COMMIT.
  • Imaginea intitulată Ștergeți înregistrările duplicate din Oracle Pasul 6
    3
    Introduceți rândul din nou, acum fără duplicat. Acum, că ați șters toate rândurile care au numele de exemplu "Alan", trebuie să introduceți încă o dată una prin propoziție INSCRIEȚI ÎN VALORILE de nume ("Alan") -. după SQL, scrie COMMIT pentru a crea noua coloană.
  • 4
    Uită-te la noua listă. Odată ce ați finalizat pașii de mai sus, puteți examina tabelul pentru a vă asigura că nu există înregistrări duplicate prin propoziție SELECT * FROM nume.
  • SQL > SELECT nume din nume-NAME ------------------------------ AlanCarrieTomAlanrows select.SQL > ștergeți de la nume unde name = `Alan`-lines deleted.SQL > comite-comite complete.SQL > inserați în valori de nume ("Alan") - rând creat.SQL > comite-comite complete.SQL > selectați * din numele-NAME ------------------------------ AlanCarrieTomrows selectat.


    Imaginea intitulată Ștergeți înregistrările duplicate din Oracle Pasul 7

    Metoda 3
    Ștergeți mai multe înregistrări

    Imaginea intitulată Ștergeți înregistrările duplicate din Oracle Pasul 8
    1
    Selectați RowID pe care doriți să îl ștergeți. după SQL, scrie SELECT ROWID, nume FROM nume-.
  • Imaginea intitulată Ștergeți înregistrările duplicate din Oracle Pasul 9
    2
    Eliminați înregistrările duplicate. după SQL, scrie Ștergeți din numele la WHERE ROWID > (SELECT MIN (ROWID) din numele b WHERE b.name = a.name) - pentru a elimina înregistrările duplicate.
  • Imaginea intitulată Ștergeți înregistrările duplicate din Oracle Pasul 10
    3
    Verificați dacă există duplicate. După ce ați finalizat pașii de mai sus, verificați dacă există în continuare înregistrări duplicate prin tastare SELECT ROWID, nume FROM nume- și apoi COMMIT.
    SQL > SELECT ROWID, nume FROM nume-ROWID NAME ------------------ ----------------------- ------- AABJnsAAGAAAdfOAAA AlanAABJnsAAGAAAdfOAAB AlanAABJnsAAGAAAdfOAAC CarrieAABJnsAAGAAAdfOAAD TomAABJnsAAGAAAdfOAAF Alanrows selected.SQL > ștergeți de la nume și de la rowid > (selectați min (rowid) din nume și unde b.name = a.name) -rows deleted.SQL > selectați rowid, numele din nume-ROWID NAME ------------------ ----------------------- ------- AABJnsAAGAAAdfOAAA AlanAABJnsAAGAAAdfOAAC CarrieAABJnsAAGAAAdfOAAD Tomrows selected.SQL > Commit-Commit complet.}}
  • Metoda 4
    Ștergeți rândurile prin coloane

    Imaginea intitulată Ștergeți înregistrările duplicate din Oracle Pasul 11
    1
    Selectați rândurile după SQL, scrie SELECT * FROM nume- pentru a vedea rândurile.
  • Imaginea intitulată Ștergeți înregistrările duplicate din Oracle Pasul 12
    2
    Eliminați rândurile duplicate identificându-le prin coloanele lor. după SQL, scrie Ștergeți din numele la WHERE ROWID > (SELECT MIN (ROWID) din numele b WHERE b.name = a.name ȘI b.edad = a.edad) - pentru a elimina înregistrările duplicate.
  • 3
    Verificați dacă există duplicate. După ce ați finalizat pașii de mai sus, verificați dacă există în continuare înregistrări duplicate prin tastare SELECT ROWID, nume FROM nume- și apoi COMMIT pentru a verifica dacă înregistrările duplicate au fost șterse cu succes.
  • SQL > SELECT * FROM NAMES-NAME AGE --------------------------------------- Alan 50Carrie 51Tom 52Alan 50ROWS select.SQL > Ștergeți din numele aWHERE ROWID > (SELECT MIN (ROWID) DIN nume bwhere b.nombre = a.nombreAND b.age = a.age) -Row deleted.SQL > SELECT * FROM NAMES-NAME AGE --------------------------------------- Alan 50Carrie 51Tom 52ROWS selectat.SQL > COMMIT-COMMIT complet.

    avertismente

    • Creați o copie de rezervă de bord în sesiunea și să-l utilizați pentru a vedea ce datele din tabelul inițial au fost înainte de a șterge duplicate (dacă aveți vreun dubiu).
    SQL > CREATE TABLE alan.names_backup CA SELECT * FROM names-TABLE creat.
    Distribuiți pe rețelele sociale:

    înrudit
    Cum se adaugă un alt rând în Microsoft WordCum se adaugă un alt rând în Microsoft Word
    Modificarea coloanelor în InDesignModificarea coloanelor în InDesign
    Cum se pot găsi potrivirile de date în ExcelCum se pot găsi potrivirile de date în Excel
    Cum se creează un tabel simplu în Microsoft WordCum se creează un tabel simplu în Microsoft Word
    Cum se pot duplica obiecte în Pokemon roșu sau albastruCum se pot duplica obiecte în Pokemon roșu sau albastru
    Cum să ștergeți adresele web în Mozilla FirefoxCum să ștergeți adresele web în Mozilla Firefox
    Cum să ștergeți duplicate în iTunesCum să ștergeți duplicate în iTunes
    Cum să ștergeți duplicate în ExcelCum să ștergeți duplicate în Excel
    Cum se pot găsi duplicate cu ușurință în Microsoft AccessCum se pot găsi duplicate cu ușurință în Microsoft Access
    Cum se găsesc elementele duplicate în ExcelCum se găsesc elementele duplicate în Excel
    » » Cum să ștergeți înregistrările duplicate în Oracle

    © 2011—2020 ertare.com