Kuinka poistaa päällekkäiset rivit SQL Server -taulukosta?



Kokeile Instrumenttia Ongelmien Poistamiseksi

Kun suunnittelemme objekteja SQL Serverissä, meidän on noudatettava tiettyjä parhaita käytäntöjä. Esimerkiksi taulukossa tulisi olla ensisijaiset avaimet, identiteettisarakkeet, klusteroidut ja klusteroimattomat hakemistot, tietojen eheys ja suorituskykyrajoitukset. SQL Server -taulukko ei saa sisältää päällekkäisiä rivejä tietokannan suunnittelun parhaiden käytäntöjen mukaisesti. Joskus meidän on kuitenkin käsiteltävä tietokantoja, joissa näitä sääntöjä ei noudateta tai joissa poikkeukset ovat mahdollisia, kun näitä sääntöjä tahallisesti ohitetaan. Vaikka noudatamme parhaita käytäntöjä, saatamme kohdata esimerkiksi kaksoisrivejä.

Esimerkiksi voisimme myös saada tämäntyyppisiä tietoja tuodessamme välitaulukkoja, ja haluaisimme poistaa tarpeettomat rivit ennen niiden lisäämistä tuotantotaulukoihin. Emme myöskään saa jättää mahdollisuutta kopioida rivejä, koska päällekkäiset tiedot mahdollistavat pyyntöjen moninkertaisen käsittelyn, virheelliset raportointitulokset ja paljon muuta. Jos sarakkeessa on kuitenkin jo päällekkäisiä rivejä, meidän on noudatettava erityisiä menetelmiä päällekkäisten tietojen puhdistamiseksi. Tarkastellaan joitain tämän artikkelin tapoja poistaa tietojen päällekkäisyys.



Taulukko, joka sisältää päällekkäisiä rivejä



Kuinka poistaa päällekkäiset rivit SQL Server -taulukosta?

SQL Serverissä on useita tapoja käsitellä päällekkäisiä tietueita taulukossa erityisten olosuhteiden perusteella, kuten:

Päällekkäisten rivien poistaminen yksilöllisestä hakemiston SQL Server -taulukosta

Hakemiston avulla voit luokitella kaksoiskappaleet yksilöllisiin hakemistotaulukoihin ja poistaa sitten kaksoiskappaleet. Ensinnäkin meidän on luoda tietokanta nimeltään 'test_database', luo sitten taulukko ' Työntekijä ”Yksilöllisellä indeksillä käyttämällä alla olevaa koodia.

KÄYTÄ master-GO Luo tietokanta test_database GO USE [test_database] GO CREATE TAULUKKO Työntekijä ([ID] INT EI NULL-TUNNUS (1,1), [Dep_ID] INT, [Nimi] varchar (200), [email] varchar (250) NULL , [kaupunki] varchar (250) NULL, [osoite] varchar (500) NULL CONSTRAINT Ensisijainen_Avain_ID ENSIMMÄINEN AVAIN (ID))

Tulos on seuraava.



Taulukon 'Työntekijä' luominen

Lisää nyt tiedot taulukkoon. Lisäämme myös kaksoisrivit. ”Dep_ID” 003,005 ja 006 ovat päällekkäisiä rivejä, joissa on samanlaisia ​​tietoja kaikissa kentissä paitsi identiteettisarakkeessa, jolla on ainutlaatuinen avainindeksi. Suorita alla annettu koodi.

KÄYTÄ [test_database] GO INSERT INTO työntekijä (Dep_ID, nimi, sähköpostiosoite, kaupunki, osoite) ARVOT (001, 'Aaaronboy Gutierrez