4 būdai, kaip ištrinti pasikartojančius įrašus „Oracle“

Turinys:

4 būdai, kaip ištrinti pasikartojančius įrašus „Oracle“
4 būdai, kaip ištrinti pasikartojančius įrašus „Oracle“

Video: 4 būdai, kaip ištrinti pasikartojančius įrašus „Oracle“

Video: 4 būdai, kaip ištrinti pasikartojančius įrašus „Oracle“
Video: 10 nuostabių naudingų išradimų, skirtų bushcraft išgyvenimo stovyklavimui! Jums gali prireikti! 2024, Gegužė
Anonim

Dirbdami „Oracle“galite pastebėti, kad kai kurie jūsų įrašai turi dublikatus. Galite ištrinti šias pasikartojančias eilutes jas identifikuodami ir naudodami jos „RowID“arba eilutės adresą. Prieš pradėdami, turėtumėte sukurti atsarginę lentelę, kad galėtumėte ištrinti įrašus.

Žingsniai

1 metodas iš 4: dublikato identifikavimas

Ištrinkite pasikartojančius įrašus „Oracle“1 veiksme
Ištrinkite pasikartojančius įrašus „Oracle“1 veiksme

Žingsnis 1. Nustatykite dublikatą

Tokiu atveju nurodykite pavyzdžio dublikatą „Alanas“. Įsitikinkite, kad įrašai, kuriuos bandote ištrinti, iš tikrųjų yra pasikartojantys, įvesdami žemiau esantį SQL.

Ištrinkite pasikartojančius įrašus „Oracle“2 veiksme
Ištrinkite pasikartojančius įrašus „Oracle“2 veiksme

Žingsnis 2. Identifikavimas iš stulpelio pavadinimu „Vardai

„Jei naudojate stulpelį pavadinimu„ Vardai “,„ stulpelio_pavadinimas “pakeisite pavadinimu.

Ištrinkite pasikartojančius įrašus „Oracle“3 veiksme
Ištrinkite pasikartojančius įrašus „Oracle“3 veiksme

Žingsnis 3. Nustatymas iš kitų stulpelių

Jei dublikatą bandytumėte identifikuoti pagal kitą stulpelį, pvz., Alano amžių, o ne jo vardą, vietoj „column_name“įveskite „Amžius“ir pan.

pasirinkite stulpelio_pavadinimą, skaičių (stulpelio_pavadinimą) iš lentelių grupės pagal stulpelio_pavadinimą, kurio skaičius (stulpelio_pavadinimas)> 1;

2 metodas iš 4: vieno dublikato ištrynimas

Ištrinkite pasikartojančius įrašus „Oracle“4 veiksme
Ištrinkite pasikartojančius įrašus „Oracle“4 veiksme

Žingsnis 1. Pasirinkite „vardas iš vardų

Po „SQL“, reiškiančio standartinę užklausų kalbą, įveskite „pasirinkite vardą iš pavadinimų“.

Ištrinkite pasikartojančius įrašus atlikdami „Oracle“5 veiksmą
Ištrinkite pasikartojančius įrašus atlikdami „Oracle“5 veiksmą

2 veiksmas. Ištrinkite visas eilutes su pasikartojančiu pavadinimu

Po „SQL“įveskite „delete iš pavadinimų, kur name = 'Alan';. Atminkite, kad didžiosios raidės čia yra svarbios, todėl bus ištrintos visos eilutės, pavadintos „Alanas“. Po „SQL“įveskite „įsipareigoti“.

Ištrinkite pasikartojančius įrašus „Oracle“6 veiksme
Ištrinkite pasikartojančius įrašus „Oracle“6 veiksme

Žingsnis 3. Išnuomokite eilutę be dublikato

Dabar, kai ištrynėte visas eilutes su pavyzdiniu pavadinimu „Alanas“, galite įterpti vieną atgal, įvesdami „įterpti į vardo reikšmes“(„Alan“);. Po „SQL“įveskite „įsipareigoti“, kad sukurtumėte naują eilutę.

Ištrinkite pasikartojančius įrašus „Oracle“7 veiksme
Ištrinkite pasikartojančius įrašus „Oracle“7 veiksme

Žingsnis 4. Peržiūrėkite naują sąrašą

Atlikę aukščiau nurodytus veiksmus, galite patikrinti, ar nebeturite pasikartojančių įrašų, įvesdami „pasirinkite * iš vardų“.

SQL> pasirinkite vardą iš pavadinimų; PAVADINIMAS ------------------------------ Pasirinktos Alano Carrie Tomo Alano eilutės. SQL> ištrinti iš pavadinimų, kur vardas = 'Alanas'; eilutės ištrintos. SQL> įsipareigoti; Įsipareigojimas baigtas. SQL> įterpti į vardus reikšmes ('Alan'); eilutė sukurta. SQL> įsipareigoti; Įsipareigojimas baigtas. SQL> pasirinkite * iš pavadinimų; PAVADINIMAS ------------------------------ Pasirinktos Alano Carrie Tom eilutės.

3 metodas iš 4: kelių dublikatų ištrynimas

Ištrinkite pasikartojančius įrašus „Oracle“8 veiksme
Ištrinkite pasikartojančius įrašus „Oracle“8 veiksme

Žingsnis 1. Pasirinkite RowID, kurį norite ištrinti

Po „SQL“įveskite „select rowid, name from names;.“

Ištrinkite pasikartojančius įrašus atlikdami „Oracle“9 veiksmą
Ištrinkite pasikartojančius įrašus atlikdami „Oracle“9 veiksmą

2 veiksmas. Ištrinkite dublikatą

Po "SQL" įveskite "delete iš pavadinimų a kur rowid> (pasirinkite min (rowid) iš pavadinimų b, kur b.name = a.name);" ištrinti pasikartojančius įrašus.

Ištrinkite pasikartojančius įrašus „Oracle“10 veiksme
Ištrinkite pasikartojančius įrašus „Oracle“10 veiksme

Žingsnis 3. Patikrinkite, ar nėra dublikatų

Baigę aukščiau nurodytas užduotis, komandos patikrina, ar vis dar turite pasikartojančių įrašų, įvesdami „pasirinkite eilutę, vardą iš vardų“. ir tada „įsipareigoti“.

SQL> pasirinkite eilutę, pavadinimą iš pavadinimų; ROWID PAVADINIMAS ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAB Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Tom AABJnsAAGAAAdfOAAF Alan eilutės pasirinktos. SQL> ištrinti iš pavadinimų a kur rowid> (pasirinkite min (rowid) iš pavadinimų b, kur b.name = a.name); eilutės ištrintos. SQL> pasirinkite eilutę, pavadinimą iš pavadinimų; ROWID PAVADINIMAS ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Pasirinktos Tom eilutės. SQL> įsipareigoti; Įsipareigojimas baigtas.

4 metodas iš 4: eilučių su stulpeliais trynimas

Ištrinkite pasikartojančius įrašus „Oracle“11 veiksme
Ištrinkite pasikartojančius įrašus „Oracle“11 veiksme

1 žingsnis. Pasirinkite savo eilutes

Po „SQL“įveskite „select * from names;“pamatyti savo eilutes.

Ištrinkite pasikartojančius įrašus „Oracle“12 veiksme
Ištrinkite pasikartojančius įrašus „Oracle“12 veiksme

2 veiksmas. Ištrinkite pasikartojančias eilutes identifikuodami jų stulpelį

Po "SQL" "įveskite" ištrinkite iš pavadinimų a kur rowid> (pasirinkite min (rowid) iš pavadinimų b, kur b.name = a.name ir b.age = a.age); " ištrinti pasikartojančius įrašus.

Ištrinkite pasikartojančius įrašus „Oracle“13 veiksme
Ištrinkite pasikartojančius įrašus „Oracle“13 veiksme

Žingsnis 3. Patikrinkite, ar nėra dublikatų

Kai atliksite aukščiau nurodytus veiksmus, įveskite "pasirinkite * iš pavadinimų;" ir tada „įsipareigoti“, kad patikrintumėte, ar sėkmingai ištrynėte pasikartojančius įrašus.

SQL> pasirinkite * iš pavadinimų; VARDAS AMŽIUS ------------------------------ ---------- Alanas 50 Carrie 51 Tomas 52 Alanas 50 pasirinktos eilutės. SQL> ištrinti iš pavadinimų a kur rowid> (pasirinkite min (rowid) iš pavadinimų b, kur b.name = a.name ir b.age = a.age); eilutė ištrinta. SQL> pasirinkite * iš pavadinimų; VARDAS AMŽIUS ------------------------------ ---------- Alanas 50 Carrie 51 Tomas Pasirinktos 52 eilutės. SQL> įsipareigoti; Įsipareigojimas baigtas.

Įspėjimai

  • Prisijungę sukurkite atsarginę lentelę, kurią galite naudoti norėdami parodyti, kas buvo prieš ištrinant (jei kyla klausimų).

    SQL> sukurti lentelę alan.names_backup kaip pasirinkti * iš pavadinimų; Lentelė sukurta.

Rekomenduojamas: