Kur punoni në Oracle, mund të gjeni se disa nga regjistrimet tuaja kanë kopje. Ju mund t'i fshini këto rreshta të kopjuar duke i identifikuar ato dhe duke përdorur RowID -in e tij, ose adresën e rreshtit. Para se të filloni, duhet të krijoni një tabelë rezervë në rast se keni nevojë t'i referoni pasi të keni fshirë të dhënat.
Hapa
Metoda 1 nga 4: Identifikimi i Dublikatit tuaj
Hapi 1. Identifikoni kopjen
Në këtë rast, identifikoni shembullin e kopjuar, "Alan". Sigurohuni që regjistrimet që po përpiqeni të fshini janë në fakt kopjuar duke futur SQL më poshtë.
Hapi 2. Identifikimi nga një kolonë e quajtur "Emrat
"Në rastin e një kolone të quajtur" Emrat ", ju do të zëvendësoni" emrin e kolonës "me Emra.
Hapi 3. Identifikimi nga kolonat e tjera
Nëse po përpiqeshit të identifikonit dublikatën me një kolonë tjetër, për shembull moshën e Alanit në vend të emrit të tij, do të futnit "Moshat" në vend të "emrit_kolonës" etj.
zgjidhni emrin e kolonës, numërimin (emrin e kolonës) nga grupi i tabelës sipas emrit të kolonës që ka numërim (emri i kolonës)> 1;
Metoda 2 nga 4: Fshirja e një kopjimi të vetëm
Hapi 1. Zgjidhni "emrin nga emrat
"Pas" SQL ", që do të thotë" Gjuha standarde e pyetjes ", futni" zgjidhni emrin nga emrat ".
Hapi 2. Fshini të gjitha rreshtat me emrin e kopjuar
Pas "SQL", futni "fshini nga emrat ku emri = 'Alan';." Vini re se kapitalizimi është i rëndësishëm këtu, kështu që kjo do të fshijë të gjitha rreshtat e quajtur "Alan". Pas "SQL", futni "commit".
Hapi 3. Merrni me qira rreshtin pa kopjuar
Tani që i keni fshirë të gjitha rreshtat me shembullin e emrit "Alan", mund ta futni një mbrapa duke futur "fut në vlerat e emrit ('Alan');." Pas "SQL", futni "commit" për të krijuar rreshtin tuaj të ri.
Hapi 4. Shihni listën tuaj të re
Pasi të keni përfunduar hapat e mësipërm, mund të kontrolloni për t'u siguruar që nuk keni më regjistrime të kopjuara duke futur "zgjidhni * nga emrat".
SQL> zgjidhni emrin nga emrat; EMRI ------------------------------ Alan Carrie Tom Alan rreshtat e zgjedhur. SQL> fshi nga emrat ku emri = 'Alan'; rreshtat e fshirë. SQL> kryej; Angazhimi i plotë. SQL> fut në vlerat e emrave ('Alan'); rreshti i krijuar. SQL> kryej; Angazhimi i plotë. SQL> zgjidhni * nga emrat; EMRI ------------------------------ Alan Carrie Tom rreshta të zgjedhur.
Metoda 3 nga 4: Fshirja e Dyfishimeve të Shumëfishta
Hapi 1. Zgjidhni RowID që dëshironi të fshini
Pas "SQL", futni "zgjidhni rowid, emri nga emrat;."
Hapi 2. Fshini kopjen
Pas "SQL", "enter" fshini nga emrat a ku rowid> (zgjidhni min (rowid) nga emrat b ku b.name = a.name); " për të fshirë regjistrimet e kopjuara.
Hapi 3. Kontrolloni për kopjime
Pasi të keni përfunduar sa më sipër, komandat kontrolloni për të parë nëse keni akoma regjistrime të kopjuara duke futur "zgjidhni rowid, name from names;" dhe pastaj "angazhohem".
SQL> zgjidhni rowid, emër nga emrat; EMRI I LART ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAB Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAdfOAAD Tom AABJnsAAGAAAdfOAAF Alan rreshta të zgjedhur. SQL> fshini nga emrat a ku rowid> (zgjidhni min (rowid) nga emrat b ku b.name = a.name); rreshtat e fshirë. SQL> zgjidhni rowid, emër nga emrat; EMRI I LART ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Rreshtat Tom të zgjedhur. SQL> kryej; Angazhimi i plotë.
Metoda 4 nga 4: Fshirja e rreshtave me kolona
Hapi 1. Zgjidhni rreshtat tuaj
Pas "SQL", futni "zgjidhni * nga emrat;" për të parë rreshtat e tu.
Hapi 2. Fshini rreshtat e kopjuar duke identifikuar kolonën e tyre
Pas "SQL" "hyni" fshini nga emrat a ku rowid> (zgjidhni min (rowid) nga emrat b ku b.name = a.name dhe b.age = a.age); " për të fshirë regjistrimet e kopjuara.
Hapi 3. Kontrolloni për kopjime
Pasi të keni përfunduar hapat e mësipërm, futni "zgjidhni * nga emrat;" dhe pastaj "kryej" për të kontrolluar që i keni fshirë regjistrimet e kopjuara me sukses.
SQL> zgjidhni * nga emrat; EMRI MOSHA ---------------------------------------------- Alan 50 Carrie 51 Tom 52 Alan 50 rreshtat e zgjedhur. SQL> fshini nga emrat a ku rowid> (zgjidhni min (rowid) nga emrat b ku b.name = a.name dhe b.age = a. moshë); rreshti u fshi. SQL> zgjidhni * nga emrat; EMRI MOSHA ---------------------------------------------- Alan 50 Carrie 51 Tom 52 rreshta të zgjedhur Me SQL> kryej; Angazhimi i plotë.
Paralajmërimet
-
Krijoni një tabelë rezervë në hyrjen tuaj që mund ta përdorni për të treguar atë që ishte atje para se të ndodhte ndonjë fshirje (në rast se ka ndonjë pyetje).
SQL> krijoni tabelën alan.names_backup si të zgjedhur * nga emrat; Tabela e krijuar.