Odds er høje, at hvis du læser denne artikel, er du bruger en Oracle-database , og allerede opdaget dubletter i et eller mange af dine tabeller . Ikke at bekymre dig, kan fjerne dubletter via din SQL-kode være let gjort. Men som mange gode programmører ved, bare fordi du kan slette noget betyder ikke, du skal. Ting du skal
Oracle database
Oracle SQL * Plus editor
Vis Flere Instruktioner
1
Åbn din SQL editor og bruge en standard SQL "Select " erklæring at trække op optegnelser fra bordet , hvor du mener dubletter findes. Kodeeksempel : ; " . Contacts_ersch " SQL > Vælg kolonne1 , kolonne2 fra yourtablename I figur 1 har de " firstname " og " Usrid " kolonner blevet udvalgt fra en tabel ved navn Husk på dette skema har yderligere kolonner med oplysninger , der ikke bliver vist , såsom e-mail- adresser og efternavne . Tage hensyn til så mange datapunkter i rækken som muligt for at sikre, at eksemplarer række, du har at gøre med virkelig en dublet.
2
Kontroller eksemplarer bruge SQL " Count" -funktionen. Der er mangfoldige måder at finde og kontrollere dubletter. I figur 1 er der to rækker med navnet " David" og to med navnet " Natalie ". Da dette er hypotetiske eksempel , både David og Natalie er dubletter . Kontrol kun ét datapunkt , såsom et fornavn er normalt aldrig nok så , at være grundig , hele kontakt rekord for hver af disse personer er dubletter . Den eneste forskel mellem de poster er " Usrid " number.One måde at udføre en kontrol med SQL før du sletter en kopi rekord er at bruge SQL " Count "-funktionen for at finde det antal gange værdien findes i en kolonne . Figur 2 bruger en variation af kode til at finde dubletter med SQL.Some kode for eksempel: SQL > Vælg kolonne1 , Count ( kolonne1 ) Da NumOccurrencesFrom yourtablenameGroup Ved column1Having ( Count ( kolonne1 )> 1 ),
< br > 3
Slet den dublerede træk med en SQL "Slet" erklæring. Din kode kan se ligner dette : " . Natalie " SQL > Slet fra yourtablenameWhere kolonne2 = værdi , du vælger fra column2Figure 3 viser brugen af " Usrid " kolonnen og dens tilsvarende værdi på seks for at slette de dublerede post for Ideelt set vil der være en unik identifikator, der er en del af en dublet rekord . Et unikt id i træk såsom et indeks nummer eller rekordstort antal vil bedre kunne forberede og giver dig mulighed for at dechifrere blandt dubletter, som du ønsker at slette.
4
Tjek din sletning ved at gentage trin 1 . Figur 4 viser, med brug af SQL "Slet " erklæring begge de dublerede poster for David og Natalie er blevet slettet . Efterfølgende er der også en tilsyneladende kløft vist i antallet af " Usrid " kolonnen .