Počas práce v systéme Oracle môžete v niektorých záznamoch nájsť duplikáty. Duplicitné riadky môžete odstrániť tak, že ich identifikujete a použijete zodpovedajúcu adresu riadka s aliasom RowID. Pred spustením vytvorte záložnú tabuľku pre prípad, že po vymazaní záznamu budete potrebovať referenciu.
Krok
Metóda 1 zo 4: Identifikácia duplikátov
Krok 1. Identifikujte duplikáty
V tomto prípade identifikujeme duplikát „Alan“. Uistite sa, že záznamy, ktoré sa majú odstrániť, sú skutočne duplikáty zadaním nižšie uvedeného kódu SQL.
Krok 2. Identifikujte v stĺpci s názvom „Názov“
V prípade, že má stĺpec názov „Názov“, musíte „názov_ stĺpca“nahradiť názvom.
Krok 3. Identifikujte ostatné stĺpce
Ak sa pokúšate identifikovať duplikáty z rôznych stĺpcov, napríklad Alanov vek namiesto jeho mena, zadajte „Vek“namiesto „názov stĺpca“a podobne.
vyberte názov stĺpca, počet (názov_ stĺpca) zo skupiny tabuliek podľa stĺpca_názov s počtom (názov stĺpca)> 1;
Metóda 2 zo 4: Odstránenie jednotlivých duplikátov
Krok 1. Vyberte „meno z mien“
Za „SQL“(skratka pre štandardný jazyk dotazov) zadajte „vybrať meno z mien“.
Krok 2. Odstráňte všetky riadky s duplicitnými názvami
Za "SQL" zadajte "odstrániť z mien, kde name = 'Alan';." Je potrebné poznamenať, že veľké písmená sú tu dôležité, aby tento krok mohol odstrániť všetky riadky s názvom „Alan“. Za „SQL“zadajte „potvrdiť“
Krok 3. Znova zadajte riadky bez duplikátov
Teraz, keď ste odstránili všetky riadky a nahradili ich „Alan“, zadajte jeden späť zadaním „vložiť do hodnôt názvu („ Alan “);.“Za „SQL“zadajte „potvrdiť“a vytvorte nový riadok.
Krok 4. Zobrazte nový zoznam
Po dokončení vyššie uvedených krokov sa môžete uistiť, že už neexistujú žiadne duplicitné záznamy, zadaním „vybrať * z mien“.
SQL> vyberte meno z mien; NÁZOV ------------------------------ Alan Citra Tomi Alan Baris vybratý. SQL> odstrániť z mien, kde name = 'Alan'; Riadok sa odstráni. SQL> potvrdzuje; / Záväzok je dokončený. SQL> vložiť do názvov hodnoty ('Alan'); vytvorený riadok. SQL> potvrdzuje; Záväzok je dokončený. SQL> vyberte * z mien; NAME ------------------------------ Vybraté riadky Alan Citra Tomi.
Metóda 3 zo 4: Odstránenie viacerých duplikátov
Krok 1. Vyberte ID riadka, ktorý chcete odstrániť
Za „SQL“zadajte „vyberte riadok, názov z mien;.“
Krok 2. Odstráňte duplikáty
Za „SQL“zadajte „odstrániť z mien a, kde rowid> (vyberte min (riadok) z názvov b, kde b.name = a.name);“na odstránenie duplikátov.
Krok 3. Skontrolujte duplikáty
Po dokončení vyššie uvedených krokov vyhľadajte duplikáty zadaním „vybrať riadok, meno z mien;“potom „zaviazať“.
SQL> vyberte riadok, názov z mien; ROWID NAME ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAB Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Tom AABJnsAAGAAAdfOAAF Alan vybrané riadky. SQL> odstrániť z mien a kde riadok> (vyberte min. (Riadok) z názvov b, kde b.názov = a.názov); riadky odstránené. SQL> vyberte riadok, názov z mien; ROWID NAME ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Tom vybraté riadky. SQL> potvrdzuje; Záväzok je dokončený.
Metóda 4 zo 4: Odstránenie riadkov podľa stĺpcov
Krok 1. Vyberte riadok
Za „SQL“zadajte „vyberte * z mien;“aby bolo možné vidieť čiaru.
Krok 2. Odstráňte duplicitné riadky identifikáciou ich stĺpcov
Za „SQL“zadajte „odstrániť z mien a, kde rowid> (vyberte min (rowid) z názvov b, kde b.name = a.name a b.age = a.age);" na odstránenie duplicitných záznamov.
Krok 3. Skontrolujte duplikáty
Po dokončení vyššie uvedených krokov zadajte „vyberte * z mien;“potom „potvrďte“, aby ste zistili, či boli duplikáty skutočne odstránené.
SQL> vyberte * z mien; MENO VEK ------------------------------ ---------- Alan 50 Citra 51 Tomi 52 Alan 50 vybrané riadky. SQL> vymazať z mien a kde riadok> (vyberte min. (Riadok) z názvov b, kde b.name = a.name a b.age = a.age); riadok odstránený. SQL> vyberte * z mien; MENO VEK ------------------------------ ---------- Alan 50 Citra 51 Tomi Vybratých 52 riadkov. SQL> potvrdzuje; Záväzok je dokončený.
Pozor
-
Po prihlásení vytvorte duplicitnú tabuľku, aby ju bolo možné použiť ako referenciu na obsah, ak neboli odstránené žiadne údaje (v prípade akýchkoľvek otázok).
SQL> vytvorte tabuľku alan.names_backup ako výber * z názvov; Tabuľka vytvorená.