4 spôsoby, ako odstrániť duplicitné záznamy v systéme Oracle

Obsah:

4 spôsoby, ako odstrániť duplicitné záznamy v systéme Oracle
4 spôsoby, ako odstrániť duplicitné záznamy v systéme Oracle

Video: 4 spôsoby, ako odstrániť duplicitné záznamy v systéme Oracle

Video: 4 spôsoby, ako odstrániť duplicitné záznamy v systéme Oracle
Video: Сводные таблицы Excel с нуля до профи за полчаса + Дэшборды! | 1-ое Видео курса "Сводные Таблицы" 2024, November
Anonim

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

Odstráňte duplicitné záznamy v Oracle, krok 1
Odstráňte duplicitné záznamy v Oracle, krok 1

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.

Odstráňte duplicitné záznamy v Oracle, krok 2
Odstráňte duplicitné záznamy v Oracle, krok 2

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.

Odstráňte duplicitné záznamy v Oracle, krok 3
Odstráňte duplicitné záznamy v Oracle, krok 3

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

Odstráňte duplicitné záznamy v Oracle, krok 4
Odstráňte duplicitné záznamy v Oracle, krok 4

Krok 1. Vyberte „meno z mien“

Za „SQL“(skratka pre štandardný jazyk dotazov) zadajte „vybrať meno z mien“.

Odstráňte duplicitné záznamy v Oracle, krok 5
Odstráňte duplicitné záznamy v Oracle, krok 5

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ť“

Odstráňte duplicitné záznamy v Oracle, krok 6
Odstráňte duplicitné záznamy v Oracle, krok 6

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.

Odstráňte duplicitné záznamy v Oracle, krok 7
Odstráňte duplicitné záznamy v Oracle, krok 7

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

Odstráňte duplicitné záznamy v Oracle, krok 8
Odstráňte duplicitné záznamy v Oracle, krok 8

Krok 1. Vyberte ID riadka, ktorý chcete odstrániť

Za „SQL“zadajte „vyberte riadok, názov z mien;.“

Odstráňte duplicitné záznamy v Oracle, krok 9
Odstráňte duplicitné záznamy v Oracle, krok 9

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.

Odstráňte duplicitné záznamy v Oracle, krok 10
Odstráňte duplicitné záznamy v Oracle, krok 10

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

Odstráňte duplicitné záznamy v Oracle, krok 11
Odstráňte duplicitné záznamy v Oracle, krok 11

Krok 1. Vyberte riadok

Za „SQL“zadajte „vyberte * z mien;“aby bolo možné vidieť čiaru.

Odstráňte duplicitné záznamy v Oracle, krok 12
Odstráňte duplicitné záznamy v Oracle, krok 12

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.

Odstráňte duplicitné záznamy v Oracle, krok 13
Odstráňte duplicitné záznamy v Oracle, krok 13

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á.

Odporúča: