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: Вяжем красивую женскую кофточку - тунику крючком. Часть 3. Заключительная. 2024, Smieť
Anonim

Pri práci v Oracle môžete prísť na to, že niektoré vaše záznamy majú duplikáty. Tieto duplicitné riadky môžete odstrániť tak, že ich identifikujete a použijete ich identifikátor riadka alebo adresu riadka. Skôr ako začnete, mali by ste vytvoriť záložnú tabuľku pre prípad, že by ste ich po odstránení záznamov potrebovali použiť.

Kroky

Metóda 1 zo 4: Identifikácia duplikátu

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

Krok 1. Identifikujte duplikát

V takom prípade identifikujte duplikát príkladu „Alan“. Uistite sa, že záznamy, ktoré sa pokúšate odstrániť, sú v skutočnosti 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. Identifikácia v stĺpci s názvom „Mená

„V prípade stĺpca s názvom„ Mená “by ste„ názov_ stĺpca “nahradili názvom.

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

Krok 3. Identifikácia z iných stĺpcov

Ak by ste sa pokúšali identifikovať duplikát podľa iného stĺpca, napríklad podľa veku Alana, a nie podľa jeho mena, zadali by ste „Veky“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 jedného duplikátu

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 výrazom„ SQL “, čo znamená štandardný jazyk dotazov, zadajte„ vyberte 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ým názvom

Za "SQL" zadajte "odstrániť z názvov, kde name = 'Alan';." Všimnite si toho, že veľké písmená sú tu dôležité, takže sa tým odstránia 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. Prenajmite riadok bez duplikátu

Teraz, keď ste odstránili všetky riadky s príkladom názvu „Alan“, môžete jeden vložiť späť zadaním „vložiť do hodnôt mien („ 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. Pozrite sa na váš nový zoznam

Po dokončení vyššie uvedených krokov sa môžete uistiť, že už nemáte duplicitné záznamy, zadaním „vybrať * z mien“.

SQL> vyberte meno z mien; NAME ------------------------------ Alan Carrie Tom Alan vybrané riadky. SQL> odstrániť z mien, kde name = 'Alan'; riadky odstránené. SQL> potvrdiť; Záväzok je dokončený. SQL> vložiť do názvov hodnoty ('Alan'); vytvorený riadok. SQL> potvrdiť; Záväzok je dokončený. SQL> vyberte * z mien; NAME ------------------------------ Alan Carrie Tom vybraté riadky.

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 názvov;.“

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

Krok 2. Odstráňte duplikát

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 duplicitných záznamov.

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 príkazov skontroluje, či stále máte duplicitné záznamy, zadaním príkazu „vyberte riadok, meno z mien“; a 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> potvrdiť; Záväzok je dokončený.

Metóda 4 zo 4: Odstránenie riadkov so stĺpcami

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

Krok 1. Vyberte svoje riadky

Za „SQL“zadajte „vyberte * z mien;“aby ste videli svoje riadky.

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;“a potom „potvrdením“overte, či ste úspešne odstránili duplicitné záznamy.

SQL> vyberte * z mien; MENO VEK ------------------------------ ---------- Alan 50 Carrie 51 Tom 52 Alan 50 vybrané riadky. SQL> vymazať z mien a kde riadok> (vybrať min (číslo riadka) z názvov b, kde b.name = a.name a b.age = a.age); riadok odstránený. SQL> vyberte * z mien; NAME AGE ------------------------------ ---------- Alan 50 Carrie 51 Tom Je vybratých 52 riadkov. SQL> potvrdiť; Záväzok je dokončený.

Varovania

  • Vytvorte si záložnú tabuľku vo svojom vlastnom prihlásení, pomocou ktorej môžete ukázať, čo tam bolo, než dôjde k odstráneniu (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: