Dok radite u Oracleu, na nekim zapisima možete pronaći duplikate. Duplicirane retke možete ukloniti tako da ih identificirate i upotrijebite odgovarajuću adresu retka pseudonima RowID. Prije početka stvorite sigurnosnu tablicu u slučaju da vam je potrebna referenca nakon brisanja zapisa.
Korak
Metoda 1 od 4: Identificiranje duplikata
Korak 1. Identificirajte duplikate
U ovom primjeru identificiramo duplikat "Alan". Uvjerite se da su zapisi za brisanje doista duplikati unošenjem dolje navedenog SQL -a.
Korak 2. Identificirajte iz stupca pod nazivom "Ime"
U slučaju da stupac ima naslov "Naziv", morate "ime_ stupca" zamijeniti imenom.
Korak 3. Identificirajte ostale stupce
Ako pokušavate identificirati duplikate iz različitih stupaca, na primjer Alanovu dob umjesto njegovog imena, unesite "Dob" umjesto "ime_ stupca" itd.
odaberite naziv_stupca, broj (naziv_ stupca) iz grupe tablica prema imenu stupca s brojem (naziv_ stupca)> 1;
Metoda 2 od 4: Uklanjanje pojedinačnih duplikata
Korak 1. Odaberite "ime iz imena"
Nakon "SQL" (skraćeno od Standard Query Language), unesite "select name from names".
Korak 2. Izbrišite sve retke s dupliciranim imenima
Nakon "SQL" unesite "delete from names where name = 'Alan';." Valja napomenuti da je velika slova ovdje važna tako da se ovim korakom mogu izbrisati svi retci pod nazivom "Alan". Nakon "SQL" unesite "commit"
Korak 3. Ponovno unesite retke bez duplikata
Sada kada ste izbrisali sve retke i zamijenili ih s "Alan", ponovno ih ispunite unosom "umetni u vrijednosti imena ('Alan');." Nakon "SQL", unesite "commit" da biste stvorili novi redak.
Korak 4. Pregledajte novi popis
Nakon što dovršite gore navedene korake, možete provjeriti nema li više dupliciranih zapisa unosom "odaberi * iz naziva".
SQL> odaberite ime iz imena; IME ------------------------------ Alan Citra Tomi Alan Baris odabran. SQL> brisanje iz naziva gdje je name = 'Alan'; Redak je izbrisan. SQL> urezuje; / Potvrda dovršena. SQL> umetni u nazive vrijednosti ('Alan'); redak stvoren. SQL> urezuje; Potvrda dovršena. SQL> odaberite * iz imena; IME ------------------------------ Odabrani redovi Alana Citre Tomi.
Metoda 3 od 4: Uklanjanje više duplikata
Korak 1. Odaberite RoWID koji želite izbrisati
Nakon "SQL" unesite "select rowid, name from names;."
Korak 2. Uklonite duplikate
Nakon "SQL", unesite "delete from names a where rowid> (odaberite min (rowid) iz imena b gdje je b.name = a.name);" za uklanjanje duplikata.
Korak 3. Provjerite ima li duplikata
Nakon dovršetka gornjih koraka provjerite ima li duplikata unošenjem "select rowid, name from names;" zatim "počiniti".
SQL> odaberite rowid, ime iz imena; ROWID NAME ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAB Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAdfOAAD Tom AABJnsAAGAAAdfOAAF Odabrani su redovi Alana. SQL> izbriši iz imena a gdje rowid> (odaberite min (rowid) iz imena b gdje je b.name = a.name); redovi izbrisani. SQL> odaberite rowid, ime iz imena; ROWID NAME ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Odabrani su Tom redovi. SQL> urezuje; Potvrda dovršena.
Metoda 4 od 4: Brisanje redaka po stupcima
Korak 1. Odaberite redak
Nakon "SQL", unesite "select * from names;" da mogu vidjeti crtu.
Korak 2. Uklonite dvostruke retke identificiranjem njihovih stupaca
Nakon "SQL" "unesite" izbrišite iz naziva a where rowid> (odaberite min (rowid) iz imena b gdje je b.name = a.name i b.age = a.age); " za uklanjanje dupliciranih zapisa.
Korak 3. Provjerite ima li duplikata
Nakon što dovršite gore navedene korake, unesite "select * from names;" zatim "predati" da vidite jesu li duplikati doista uklonjeni.
SQL> odaberite * iz imena; IME DOBA ------------------------------ ---------- Alan 50 Citra 51 Tomi 52 Alan 50 odabrani redovi. SQL> izbriši iz imena a gdje rowid> (odaberite min (rowid) iz imena b gdje je b.name = a.name i b.age = a.age); redak izbrisan. SQL> odaberite * iz imena; IME DOBA ------------------------------ ---------- Alan 50 Citra 51 Tomi Odabrana su 52 reda. SQL> urezuje; Potvrda dovršena.
Upozorenje
-
Izradite duplikat tablice u prijavi tako da se može koristiti kao referenca sadržaja kada nisu izbrisani podaci (u slučaju da imate pitanja).
SQL> izradi tablicu alan.names_backup kao odabir * iz imena; Tablica je stvorena.