Cum se șterge înregistrările duplicate în oracle

Când lucrați în Oracle, puteți constata că unele dintre înregistrările dvs. au duplicate. Puteți șterge aceste rânduri duplicate prin identificarea acestora și utilizarea adresei sale RowID sau ROW. Înainte de a începe, ar trebui să creați o masă de rezervă în cazul în care trebuie să le faceți referire după ce ați șters înregistrările.

Pași

Metoda 1 din 4:
Identificarea duplicatului
  1. Imagine intitulată Ștergerea înregistrărilor duplicate în Oracle Pasul 1
1. Identificați duplicatul. În acest caz, identificați exemplul duplicat, "Alan." Asigurați-vă că înregistrările pe care încercați să le ștergeți sunt de fapt duplicate prin introducerea SQL de mai jos.
  • Imagine intitulată Ștergerea înregistrărilor duplicate în Oracle Pasul 2
    2. Identificarea dintr-o coloană numită "Numele." În instanța unei coloane numită "Numele," ați înlocui "Column_name" cu nume.
  • Imagine intitulată Ștergerea înregistrărilor duplicate în Oracle Pasul 3
    3. Identificarea din alte coloane. Dacă ați încercat să identificați duplicatul printr-o altă coloană, de exemplu vârsta lui Aan, mai degrabă decât numele său, ați intrat "Vârste" in locul "Column_name" și așa mai departe.
    Selectați Column_name, numărați (Column_name) de la grupul de masă de numărătoarea Column_nampleving (Column_name) > 1-
  • Metoda 2 din 4:
    Ștergerea unui singur duplicat
    1. Imagine intitulată Ștergerea înregistrărilor duplicate în Oracle Pasul 4
    1. Selectați "Numele de la nume." După "SQL," care reprezintă o limbă de interogare standard, introduceți "Selectați numele de la nume."
  • Imagine intitulată Ștergerea înregistrărilor duplicate în Oracle Pasul 5
    2. Ștergeți toate rândurile cu numele duplicat. După "SQL," introduce "Ștergeți din nume unde numele = `Alan`-." Rețineți că capitalizarea este importantă aici, deci acest lucru va șterge toate rândurile numite "Alan." După "SQL," introduce "comitere."
  • Imagine intitulată Ștergerea înregistrărilor duplicate în Oracle Pasul 6
    3. Antrenați rândul fără un duplicat. Acum că ați șters toate rândurile cu numele de exemplu "Alan," Puteți introduce unul înapoi prin introducerea "Introduceți în valorile de nume ("Alan")-." După "SQL," introduce "comitere" Pentru a crea noul rând.
  • Imagine intitulată Ștergerea înregistrărilor duplicate în Oracle Pasul 7
    4. Vedeți lista nouă. Odată ce ați finalizat pașii de mai sus, puteți verifica pentru a vă asigura că nu mai aveți înregistrări duplicate introducând "Selectați * de la nume."
    SQL > Selectați Nume de la numele-Nume ------------------------------.SQL > Ștergeți de la numele în care numele = "rândurile Alan`-rândurile șterse.SQL > comitet-comit completă.SQL > Introduceți valorile de nume ("Alan") - rândul creat.SQL > comitet-comit completă.SQL > Selectați * De la nume-Nume ------------------------------ Alacarrietomrows selectate.
  • Metoda 3 din 4:
    Ștergerea mai multor duplicate
    1. Imagine intitulată Ștergerea înregistrărilor duplicate în Oracle Pasul 8
    1. Selectați Rowidul pe care doriți să îl ștergeți. După "SQL," introduce "Selectați Rowid, Nume de la nume-."
  • Imagine intitulată Ștergerea înregistrărilor duplicate în Oracle Pasul 9
    2. Ștergeți duplicatul. După "SQL," introduce "Ștergeți de la numele A Unde Rowid > (Selectați min (Rowid) de la numele B unde b.Nume = A.Nume)-" Pentru a șterge înregistrările duplicate.
  • Imagine intitulată Ștergerea înregistrărilor duplicate în Oracle Pasul 10
    3. Verificați duplicatele. După ce ați terminat cele de mai sus, comenzile verificați dacă aveți în continuare înregistrări duplicate prin introducerea "Selectați Rowid, Nume de la nume-" și apoi "comitere."
    SQL > Selectați Rowid, Nume de la nume-Rowidname ----------------------------------------- ------ AABJNSAAGAAADFoaaaaAAbjnsAagaAadfoataAb alanaAbjnsaagaaadfoac carrieaabjnsaagaaadfoad tomaabjnsaagaaadfoaf Alanrows selectate.SQL > Ștergeți de la nume au fost înaintate > (selectați min (Rowid) de la numele b [.Nume = A.nume) -rows șters.SQL > Selectați Rowid, Nume de la nume-Rowidname ----------------------------------------- ------ AABJNSAAGAAADFoaaaAAbjnsaagaaadfoac CarrieaAbjnsaagaaadfoad Timruri selectate.SQL > comitet-comit completă.
  • Metoda 4 din 4:
    Ștergerea rândurilor cu coloane
    1. Imagine intitulată Ștergerea înregistrărilor duplicate în Oracle Pasul 11
    1. Selectați rândurile dvs. După "SQL," introduce "Selectați * de la nume-" Pentru a vă vedea rândurile.
  • Imagine intitulată Ștergerea înregistrărilor duplicate în Oracle Pasul 12
    2. Ștergeți rândurile duplicate prin identificarea coloanei. După "SQL `" introduce "Ștergeți de la numele A Unde Rowid > (Selectați min (Rowid) de la numele B unde b.Nume = A.Numele și B.Vârsta = A.vârstă)-" Pentru a șterge înregistrările duplicate.
  • Imagine intitulată Ștergerea înregistrărilor duplicate în Oracle Pasul 13
    3. Verificați duplicatele. După ce ați terminat pașii de mai sus, introduceți "Selectați * de la nume-" și apoi "comitere" Pentru a verifica dacă ați șters înregistrările duplicate cu succes.
    SQL > Selectați * De la nume-Nameage --------------------------------------- Alan50carrie51Tom52Alan550roși selectați.SQL > Ștergeți de la nume au fost înaintate > (selectați min (Rowid) de la numele b [.Nume = A.Nume și B.Vârsta = A.vârsta) -row eliminat.SQL > Selectați * De la nume-Nameage --------------------------------------- Alan50carrie51Tom52rofe selectați.SQL > comitet-comit completă.
  • sfaturi

    Avertizări

    Creați o masă de rezervă în propriul dvs. semnătură pe care o puteți utiliza pentru a afișa ce a fost acolo înainte de a apărea o ștergere (în cazul în care există întrebări).
    SQL > Creați tabelul Alan.nume_backup ca selectat * din tabelul de nume creată.
    Partajați pe rețeaua socială:
    Similar