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 duplicatului1. 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.
2. Identificarea dintr-o coloană numită "Numele." În instanța unei coloane numită "Numele," ați înlocui "Column_name" cu nume.
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 duplicat1. Selectați "Numele de la nume." După "SQL," care reprezintă o limbă de interogare standard, introduceți "Selectați numele de la nume."
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."
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.
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 duplicate1. Selectați Rowidul pe care doriți să îl ștergeți. După "SQL," introduce "Selectați Rowid, Nume de la nume-."
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.
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 coloane1. Selectați rândurile dvs. După "SQL," introduce "Selectați * de la nume-" Pentru a vă vedea rândurile.
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.
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ă: