4 veidi, kā izdzēst dublētus ierakstus Oracle

Satura rādītājs:

4 veidi, kā izdzēst dublētus ierakstus Oracle
4 veidi, kā izdzēst dublētus ierakstus Oracle

Video: 4 veidi, kā izdzēst dublētus ierakstus Oracle

Video: 4 veidi, kā izdzēst dublētus ierakstus Oracle
Video: 3 veidi kā tikt pie eParaksts mobile 2024, Aprīlis
Anonim

Strādājot Oracle, var gadīties, ka dažiem jūsu ierakstiem ir dublikāti. Šīs dublētās rindas varat izdzēst, identificējot tās un izmantojot tās RowID vai rindas adresi. Pirms sākat, jums jāizveido dublējuma tabula gadījumam, ja pēc ierakstu dzēšanas jums uz tām ir jāatsaucas.

Soļi

1. metode no 4: dublikāta identificēšana

Izdzēsiet dublētus ierakstus Oracle 1. darbībā
Izdzēsiet dublētus ierakstus Oracle 1. darbībā

1. darbība. Identificējiet dublikātu

Šajā gadījumā identificējiet piemēra dublikātu "Alan". Pārliecinieties, vai ieraksti, kurus mēģināt izdzēst, patiesībā ir dublikāti, ievadot zemāk esošo SQL.

Izdzēsiet dublētus ierakstus Oracle 2. darbībā
Izdzēsiet dublētus ierakstus Oracle 2. darbībā

2. darbība. Identificēšana no kolonnas ar nosaukumu "Vārdi

"Kolonnas, kuras nosaukums ir" Vārdi ", gadījumā" kolonnas_nosaukums "jāaizstāj ar nosaukumu.

Izdzēsiet dublētus ierakstus Oracle 3. darbībā
Izdzēsiet dublētus ierakstus Oracle 3. darbībā

3. solis. Identificēšana no citām kolonnām

Ja jūs mēģinātu identificēt dublikātu pēc citas slejas, piemēram, pēc Alana vecuma, nevis pēc viņa vārda, kolonnas_nosaukuma vietā ievadiet “Vecums” un tā tālāk.

tabulas grupā atlasiet kolonnas_nosaukumu, skaitu (kolonnas_nosaukumu) pēc kolonnas_nosaukuma, kura skaits (kolonnas_nosaukums)> 1;

2. metode no 4: viena dublikāta dzēšana

Izdzēsiet dublētus ierakstus Oracle 4. solī
Izdzēsiet dublētus ierakstus Oracle 4. solī

1. solis. Atlasiet vārdu no nosaukumiem

"Pēc" SQL ", kas apzīmē standarta vaicājumu valodu, ievadiet" izvēlieties vārdu no nosaukumiem ".

Izdzēsiet dublētus ierakstus Oracle 5. darbībā
Izdzēsiet dublētus ierakstus Oracle 5. darbībā

2. darbība. Dzēsiet visas rindas ar dublēto nosaukumu

Pēc "SQL" ievadiet "delete" no nosaukumiem, kur name = 'Alan';. " Ņemiet vērā, ka lielajiem burtiem ir liela nozīme, tāpēc tiks dzēstas visas rindas ar nosaukumu "Alan". Pēc "SQL" ievadiet "veikt".

Izdzēsiet dublētus ierakstus Oracle 6. darbībā
Izdzēsiet dublētus ierakstus Oracle 6. darbībā

3. solis. Iznomājiet rindu bez dublikāta

Tagad, kad esat izdzēsis visas rindas ar piemēra nosaukumu "Alan", varat ievietot vienu atpakaļ, ievadot "insert in name values ('Alan');." Pēc "SQL" ievadiet "saistīt", lai izveidotu jaunu rindu.

Izdzēsiet dublētus ierakstus Oracle 7. darbībā
Izdzēsiet dublētus ierakstus Oracle 7. darbībā

4. solis. Skatiet savu jauno sarakstu

Kad esat pabeidzis iepriekš minētās darbības, varat pārbaudīt, vai jums vairs nav ierakstu dublikātu, ievadot "izvēlieties * no nosaukumiem".

SQL> izvēlieties vārdu no nosaukumiem; NAME ------------------------------ Alan Carrie Tom Alan rindas atlasītas. SQL> dzēst no nosaukumiem, kur name = 'Alan'; rindas izdzēstas. SQL> veikt; Apņemšanās pabeigta. SQL> ievietojiet nosaukumos vērtības ('Alan'); rinda izveidota. SQL> veikt; Apņemšanās pabeigta. SQL> izvēlieties * no nosaukumiem; NOSAUKUMS ------------------------------ Atlasītas Alanas Kerijas Toma rindas.

3. metode no 4: vairāku dublikātu dzēšana

Izdzēsiet dublētus ierakstus Oracle 8. darbībā
Izdzēsiet dublētus ierakstus Oracle 8. darbībā

1. solis. Izvēlieties RowID, kuru vēlaties dzēst

Pēc "SQL" ievadiet "select rowid, name from names;."

Izdzēsiet dublētus ierakstus Oracle 9. darbībā
Izdzēsiet dublētus ierakstus Oracle 9. darbībā

2. darbība. Izdzēsiet dublikātu

Pēc "SQL" ievadiet "dzēst no nosaukumiem a kur rowid> (izvēlieties min (rowid) no nosaukumiem b kur b.name = a.name);" lai izdzēstu ierakstu dublikātus.

Izdzēsiet dublētus ierakstus Oracle 10. darbībā
Izdzēsiet dublētus ierakstus Oracle 10. darbībā

3. darbība. Pārbaudiet, vai nav dublikātu

Kad esat pabeidzis iepriekš minēto, komandas pārbauda, vai jums joprojām ir ierakstu dublikāti, ievadot "select rowid, name from names;" un tad "apņemties".

SQL> izvēlieties rowid, nosaukumu no nosaukumiem; ROWID NAME ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAB Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Tom AABJnsAAGAAAdfOAAF Alan rindas atlasītas. SQL> dzēst no nosaukumiem a kur rowid> (izvēlieties min (rowid) no nosaukumiem b, kur b.name = a.name); rindas izdzēstas. SQL> izvēlieties rowid, nosaukumu no nosaukumiem; ROWID NAME ------------------ ------------------------------ Atlasītas Tom rindas. SQL> veikt; Apņemšanās pabeigta.

4. metode no 4: rindu ar kolonnām dzēšana

Izdzēsiet dublētus ierakstus Oracle 11. darbībā
Izdzēsiet dublētus ierakstus Oracle 11. darbībā

1. solis. Atlasiet rindas

Pēc "SQL" ievadiet "izvēlieties * no nosaukumiem;" lai redzētu savas rindas.

Izdzēsiet dublētus ierakstus Oracle 12. darbībā
Izdzēsiet dublētus ierakstus Oracle 12. darbībā

2. darbība. Dzēsiet dublētās rindas, identificējot to kolonnu

Pēc "SQL" ievadiet "dzēst no nosaukumiem a kur rowid> (izvēlieties min (rowid) no nosaukumiem b kur b.name = a.name un b.age = a.age);" lai izdzēstu ierakstu dublikātus.

Izdzēsiet dublētus ierakstus Oracle 13. darbībā
Izdzēsiet dublētus ierakstus Oracle 13. darbībā

3. darbība. Pārbaudiet, vai nav dublikātu

Kad esat pabeidzis iepriekš minētās darbības, ievadiet "izvēlieties * no nosaukumiem;" un pēc tam veiciet saistības, lai pārbaudītu, vai esat veiksmīgi izdzēsis ierakstu dublikātus.

SQL> izvēlieties * no nosaukumiem; VĀRDA VECUMS ------------------------------ ---------- Alans 50 Kerijs 51 Toms 52 Alans 50 atlasītas rindas. SQL> dzēst no nosaukumiem a kur rowid> (izvēlieties min (rowid) no nosaukumiem b kur b.name = a.name un b.age = a.age); rinda ir izdzēsta. SQL> izvēlieties * no nosaukumiem; Nosaukuma vecums ------------------------------ ---------- Alans 50 Kerija 51 Toms Atlasītas 52 rindas. SQL> veikt; Apņemšanās pabeigta.

Brīdinājumi

  • Izveidojiet rezerves tabulu savā pierakstīšanās sistēmā, kuru varat izmantot, lai parādītu, kas bija pirms dzēšanas (ja rodas kādi jautājumi).

    SQL> izveidot tabulu alan.names_backup kā izvēlieties * no nosaukumiem; Tabula izveidota.

Ieteicams: