Pri delu v podjetju Oracle boste morda ugotovili, da imajo nekateri vaši zapisi dvojnike. Te podvojene vrstice lahko izbrišete tako, da jih identificirate in uporabite njihov RowID ali naslov vrstice. Preden začnete, morate ustvariti varnostno tabelo, če se boste morali po brisanju zapisov sklicevati nanjo.
Koraki
Metoda 1 od 4: Prepoznavanje vašega dvojnika
Korak 1. Identificirajte dvojnik
V tem primeru identificirajte primer dvojnika, "Alan." Prepričajte se, da so zapisi, ki jih poskušate izbrisati, dejansko podvojeni, tako da vnesete spodnji SQL.
Korak 2. Prepoznavanje iz stolpca z imenom "Imena
"V primeru stolpca z imenom" Imena "bi" ime_ stolpca "zamenjali z Imena.
Korak 3. Prepoznavanje iz drugih stolpcev
Če bi poskušali identificirati podvojenec z drugim stolpcem, na primer starostjo Alana in ne njegovega imena, bi namesto "ime_stolpca" vnesli "Starost" itd.
izberite ime stolpca, štetje (ime stolpca) iz skupine tabel po imenu stolpca z štetjem (ime_ stolpca)> 1;
Metoda 2 od 4: Brisanje enotnega dvojnika
Korak 1. Izberite "ime iz imen
"Za" SQL ", ki pomeni Standardni jezik poizvedb, vnesite" izberite ime iz imen ".
Korak 2. Izbrišite vse vrstice z podvojenim imenom
Po "SQL" vnesite "delete from names where name = 'Alan';." Upoštevajte, da je tukaj velika začetnica pomembna, zato bodo izbrisane vse vrstice z imenom "Alan". Po "SQL" vnesite "commit".
Korak 3. Vnesite vrstico brez dvojnika
Zdaj, ko ste izbrisali vse vrstice z vzorčnim imenom "Alan", lahko eno vrnete nazaj tako, da vnesete "vstavi v vrednosti imen ('Alan');." Po "SQL" vnesite "commit", da ustvarite novo vrstico.
Korak 4. Oglejte si svoj nov seznam
Ko dokončate zgornje korake, lahko preverite, ali nimate več podvojenih zapisov, tako da vnesete »izberite * iz imen«.
SQL> izberite ime iz imen; IME ------------------------------ Alan Carrie Tom Alan izbrane vrstice. SQL> izbriši iz imen, kjer je name = 'Alan'; vrstice izbrisane. SQL> zaveži; Zaveza je končana. SQL> vstavi vrednosti imen ('Alan'); vrstica ustvarjena. SQL> zaveži; Zaveza je končana. SQL> izberite * iz imen; IME ------------------------------ Izbrane vrstice Alan Carrie Tom.
Metoda 3 od 4: Brisanje več dvojnikov
Korak 1. Izberite RoWID, ki ga želite izbrisati
Po "SQL" vnesite "select rowid, name from names;."
Korak 2. Izbrišite dvojnik
Po "SQL" vnesite "delete from names a where rowid> (izberite min (rowid) iz imen b, kjer je b.name = a.name);" za brisanje podvojenih zapisov.
Korak 3. Preverite dvojnike
Ko dokončate zgornje, ukazi preverijo, ali imate še vedno podvojene zapise, tako da vnesete "select rowid, name from names;" in nato "zaveži".
SQL> izberite rowid, ime iz imen; ROWID NAME ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAB Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Tom AABJnsAAGAAAdfOAAF Izbrane vrstice Alan. SQL> izbriši iz imen a where rowid> (izberite min (rowid) iz imen b, kjer je b.name = a.name); vrstice izbrisane. SQL> izberite rowid, ime iz imen; ROWID IME ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Izbrane so Tom vrstice. SQL> zaveži; Zaveza je končana.
Metoda 4 od 4: Brisanje vrstic s stolpci
Korak 1. Izberite vrstice
Po "SQL" vnesite "izberite * iz imen;" za ogled vrstic.
Korak 2. Izbrišite podvojene vrstice tako, da identificirate njihov stolpec
Po "SQL" "vnesite" izbriši iz imen a where rowid> (izberite min (rowid) iz imen b, kjer je b.name = a.name in b.age = a.age); " izbrisati podvojene zapise.
Korak 3. Preverite dvojnike
Ko dokončate zgornje korake, vnesite "izberite * iz imen;" in nato "potrdi", da preveri, ali si podvojene zapise uspešno izbrisal.
SQL> izberite * iz imen; IME STAROST ------------------------------ ---------- Alan 50 Carrie 51 Tom 52 Alan 50 izbrane vrstice. SQL> izbriši iz imen a where rowid> (izberite min (rowid) iz imen b, kjer je b.name = a.name in b.age = a.age); vrstica izbrisana. SQL> izberite * iz imen; IME STAROST ------------------------------ ---------- Alan 50 Carrie 51 Tom Izbrane so 52 vrstice. SQL> zaveži; Zaveza je končana.
Opozorila
-
Ustvarite varnostno kopijo tabele v svoji prijavi, s katero lahko prikažete, kaj je bilo tam, preden je prišlo do izbrisa (v primeru kakršnih koli vprašanj).
SQL> ustvarite tabelo alan.names_backup kot izberite * iz imen; Tabela je ustvarjena.