Kako odstraniti podvojene vrstice iz tabele SQL Server?



Preizkusite Naš Instrument Za Odpravo Težav

Pri oblikovanju predmetov v strežniku SQL Server moramo upoštevati nekatere najboljše prakse. Tabela bi morala na primer vsebovati primarne ključe, stolpce identitete, gručaste in neklastirane indekse, omejitve celovitosti podatkov in zmogljivosti. Tabela SQL Server ne sme vsebovati podvojenih vrstic v skladu z najboljšimi praksami pri oblikovanju baz podatkov. Včasih pa moramo obravnavati zbirke podatkov, kjer se ta pravila ne upoštevajo ali kjer so možne izjeme, če se ta pravila namerno obidejo. Čeprav sledimo najboljšim praksam, se lahko soočamo s težavami, kot so podvojene vrstice.



Na primer, to vrsto podatkov bi lahko dobili tudi med uvozom vmesnih tabel in radi bi izbrisali odvečne vrstice, preden bi jih dejansko dodali v delovne tabele. Poleg tega ne smemo zapustiti možnosti podvajanja vrstic, ker podvojene informacije omogočajo večkratno obdelavo zahtev, napačne rezultate poročanja in še več. Če pa imamo v stolpcu že podvojene vrstice, moramo za čiščenje podvojenih podatkov upoštevati posebne metode. Oglejmo si nekaj načinov v tem članku za odstranjevanje podvajanja podatkov.



Tabela, ki vsebuje podvojene vrstice



Kako odstraniti podvojene vrstice iz tabele SQL Server?

V strežniku SQL Server obstaja več načinov za obdelavo podvojenih zapisov v tabeli glede na posebne okoliščine, kot so:

Odstranjevanje podvojenih vrstic iz edinstvene indeksne tabele SQL Server

Z indeksom lahko razvrstite podvojene podatke v edinstvene indeksne tabele in nato izbrišete podvojene zapise. Najprej moramo ustvariti bazo podatkov z imenom 'test_database', nato ustvarite tabelo ' Zaposleni 'Z edinstvenim indeksom s spodnjo kodo.

USE master GO CREATE DATABASE test_database GO USE [test_database] GO CREATE TABLE Zaposleni ([ID] INT NOT NULL IDENTITY (1,1), [Dep_ID] INT, [Name] varchar (200), [email] varchar (250) NULL , [mesto] varchar (250) NULL, [naslov] varchar (500) NULL CONSTRAINT Primary_Key_ID PRIMARNI KLJUČ (ID))

Rezultat bo kot spodaj.



Ustvarjanje tabele 'Zaposleni'

Zdaj v tabelo vstavite podatke. Vstavili bomo tudi podvojene vrstice. “Dep_ID” 003,005 in 006 sta podvojeni vrstici s podobnimi podatki v vseh poljih, razen stolpca identitete z edinstvenim indeksom ključa. Izvedite spodnjo kodo.

UPORABI [test_database] POJDI VSTAVITI V zaposlenega (ID_ ID-ja, ime, e-pošta, mesto, naslov) VREDNOSTI (001, 'Aaaronboy Gutierrez