Når vi designer objekter i SQL Server, skal vi følge visse bedste fremgangsmåder. For eksempel skal en tabel have primære nøgler, identitetskolonner, klyngede og uklusterede indekser, dataintegritet og præstationsbegrænsninger. SQL Server-tabellen bør ikke indeholde duplikatrækker i henhold til bedste praksis i databasedesign. Nogle gange har vi dog brug for databaser, hvor disse regler ikke følges, eller hvor undtagelser er mulige, når disse regler forsætligt omgåes. Selvom vi følger de bedste fremgangsmåder, kan vi blive udsat for problemer som duplikatrækker.
For eksempel kunne vi også få denne type data, mens vi importerer mellemliggende tabeller, og vi vil gerne slette overflødige rækker, før vi faktisk føjer dem til produktionstabellerne. Desuden bør vi ikke forlade udsigten til at duplikere rækker, fordi duplikatoplysninger tillader flere håndtering af anmodninger, forkerte rapporteringsresultater og mere. Men hvis vi allerede har duplikatrækker i kolonnen, skal vi følge specifikke metoder for at rydde duplikatdataene op. Lad os se på nogle måder i denne artikel for at fjerne duplikering af data.
Tabellen, der indeholder duplikerede rækker
Sådan fjernes duplikerede rækker fra en SQL Server-tabel?
Der er en række måder i SQL Server til at håndtere duplikatposter i en tabel baseret på særlige omstændigheder såsom:
Fjernelse af dubletter af rækker fra en unik SQL Server-tabel
Du kan bruge indekset til at klassificere duplikatdata i unikke indekstabeller og derefter slette duplikatposter. Først skal vi oprette en database med navnet “test_database”, og opret derefter en tabel “ Medarbejder ”Med et unikt indeks ved hjælp af nedenstående kode.
BRUG master GO OPRET DATABASE test_database GO USE [test_database] GO CREATE TABLE Medarbejder ([ID] INT IKKE NULL IDENTITET (1,1), [Dep_ID] INT, [Navn] varchar (200), [email] varchar (250) NULL , [city] varchar (250) NULL, [address] varchar (500) NULL CONSTRAINT Primary_Key_ID PRIMARY KEY (ID))
Outputtet vil være som nedenfor.
Oprettelse af tabellen 'Medarbejder'
Indsæt nu data i tabellen. Vi vil også indsætte duplikerede rækker. 'Dep_ID' 003,005 og 006 er duplikatrækker med lignende data i alle felter undtagen identitetskolonnen med et unikt nøgleindeks. Udfør koden nedenfor.
BRUG [test_database] GO INSERT INTO Employee (Dep_ID, Name, email, city, address) VALUES (001, 'Aaaronboy Gutierrez