Odds er stor for at hvis du leser denne artikkelen, er du bruker en Oracle database og allerede oppdaget duplikater i ett eller flere av tabellene . Ikke bekymre deg, kan eliminere duplikater gjennom SQL-kode være fort gjort. Men så mange gode programmerere vet, bare fordi du kan slette noe betyr ikke at du burde. Du trenger
Oracle database
Oracle SQL * Plus redaktør
Vis flere instruksjoner
en
Åpne SQL-editor og bruke en standard SQL " Select " statement å trekke opp poster fra bordet der du tror duplikater eksisterer. Kodeeksempel : ; " . Contacts_ersch " SQL > COLUMN1 Select, kolonne 2 fra yourtablename I figur 1 , har de "Fornavn " og " Usrid " kolonner er valgt fra en tabell med navnet Husk denne tabellen har flere kolonner med informasjon som ikke blir vist , for eksempel e-postadresser og etternavn . Ta hensyn til så mange datapunkter i raden som mulig for å sikre at duplikat raden du har å gjøre med virkelig er et duplikat.
2
Kontroller duplisere hjelp av SQL «Greven» -funksjonen . Det finnes mengder av måter å finne og sjekke duplikater. I figur 1 er det to rader med navnet " David" og ytterligere to med navnet " Natalie . " Siden dette er hypotetisk eksempel , både David og Natalie er doble oppføringer . Sjekker bare ett datapunkt som et fornavn er vanligvis aldri nok slik , for å være grundig , hele kontakt rekord for hver av disse personene er duplikater . Den eneste forskjellen mellom postene er " Usrid " number.One måte å utføre en sjekk med SQL før du sletter en duplisert post er å bruke SQL «Greven» -funksjon for å finne antall ganger verdien eksisterer i en kolonne. Figur 2 bruker en variant av koden for å finne duplikater med SQL.Some kode for eksempel : SQL > Velg kolonne 1 , Count ( kolonne 1 ) Som NumOccurrencesFrom yourtablenameGroup Ved column1Having ( Count ( kolonne 1 ) > 1 ) ;
3
slette dupliserte rad ved hjelp av en SQL "Delete " statement. Koden kan se omtrent slik ut: " . Natalie " SQL > Slett fra yourtablenameWhere kolonne 2 = verdien du velge mellom column2Figure 3 viser bruken av " Usrid "-kolonnen , og den tilsvarende verdien av seks slette duplikatoppføringen for Ideelt sett vil det være en unik identifikator som er en del av en duplisert registrering . En unik identifikator på rad som en indeks nummer eller rekordmange vil bedre forberede og gjøre deg i stand til å dechiffrere blant duplikater som du vil slette.
4
Sjekk din sletting ved å gjenta trinn 1 . Figur 4 viser at med bruk av SQL "Delete " statement begge de like postene for David og Natalie har blitt slettet . Senere er det også en tydelig gap vist i tallene for " Usrid "-kolonnen .