Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako odstrániť duplicitné SQL

Správcovia databázy vedia , že sa vyskytujú občasné chyby a duplicitné záznamy sú vložené do databázy . Problém je spoločný problém pre administrátorov opraviť , ale mazanie záznamov z SQL servera je chúlostivá situácia . Administrátor je vzhľadom k práci odstraňovania záznamov , bez toho, aby náhodou odstránenie akékoľvek iné údaje , ktoré sa môže stať ľahko, ak dotaz nie je stavať správne . Naučte sa, ako odstrániť duplicitné záznamy v SQL pri zachovaní pôvodnej záznamy . Veci , ktoré budete potrebovať v Microsoft SQL Server ( 2005 alebo 2008 )
Zobraziť ďalšie inštrukcie Cestuj 1

Open Enterprise Manager for SQL Server . Musíte spúšťať dotazy pre kontrolu duplicitné obsah . To bude tiež vám predstavu o tom , koľko záznamov musí byť zrušená . Veľké otázky môžu vyžadovať , aby sa SQL server pre údržbu
2

typu do konzoly : . Select count ( * ) od TheTableandselect odlišné * od TheTableThe prvého príkazu vám povie , koľko celkom záznamov máte v tabuľke , a druhý príkaz vám povie , koľko kópií máte . Avšak , druhý príkaz predpokladá , že záznamy sú úplne rovnaké , čo znamená akýkoľvek malý rozptyl , nebudú zahrnuté do duplikátu tabuľka .
3

Kopírovanie záznamov do samostatnej tabuľky . Nasledujúci príkaz skopíruje iba záznamy , ktoré sú odlišné a listy z akejkoľvek duplicates.select zreteľný * do TempTablefrom TheTable
4

Odstrániť duplikáty . Nasledujúci dotaz odstráni všetky duplicitné položky z pôvodnej tabuľky , ale zachováva 1 kópiu pôvodného záznamu . Stĺpec " uniqueField " je primárny kľúč alebo jedinečný index súbor na pôvodnej tabuľke . Stĺpec " dupField " je pole , ktoré je určené ako spúšť pre duplikátu . Napríklad , ak máte tabuľku zákazníkov s duplikáty , môžete zistiť , že viac ako 1 záznamov s rovnakým počtom sociálneho zabezpečenia je duplicitné field.delete z TheTablewhere uniqueField nie je ( select min ( uniqueField ) z TempTable T2where T2.dupField = MyTable.dupField )
5

Pozrite sa na výsledky . Spustite rovnaké otázky od 1. kroku . Celkový počet z pôvodnej tabuľky by mal byť rozdiel medzi počtom počíta pred odstraňovací dotaz a číslo odstránené z tabuľky . Navyše , spustenie zreteľný dotaz by mal mať rovnaký počet ako prvý dotaz .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené