4 módszer az ismétlődő rekordok törlésére az Oracle -ben

Tartalomjegyzék:

4 módszer az ismétlődő rekordok törlésére az Oracle -ben
4 módszer az ismétlődő rekordok törlésére az Oracle -ben

Videó: 4 módszer az ismétlődő rekordok törlésére az Oracle -ben

Videó: 4 módszer az ismétlődő rekordok törlésére az Oracle -ben
Videó: Rejtett alagút a Sas-hegy és a Gellért-hegy között? Kiderítettük! [LBP 3x04] 2024, Lehet
Anonim

Az Oracle -ben végzett munka során néhány rekordon megkeresheti a másolatokat. Az ismétlődő sorokat eltávolíthatja azonosításukkal és a megfelelő RowID alias sorcím használatával. Mielőtt elkezdené, hozzon létre egy biztonsági mentési táblázatot arra az esetre, ha hivatkozásra van szüksége a rekord törlése után.

Lépés

1. módszer a 4 -ből: Ismétlődések azonosítása

Az ismétlődő rekordok törlése az Oracle 1. lépésében
Az ismétlődő rekordok törlése az Oracle 1. lépésében

1. lépés. Ismertesse az ismétlődéseket

Ebben a példában azonosítjuk az "Alan" másolatot. Győződjön meg arról, hogy a törlendő rekordok valóban másolatok, írja be az alábbi SQL -t.

Törölje az ismétlődő rekordokat az Oracle 2. lépésében
Törölje az ismétlődő rekordokat az Oracle 2. lépésében

2. lépés. Azonosítsa a "Név" című oszlopból

Abban az esetben, ha az oszlop címe "Név", akkor az "oszlop_neve" -t le kell cserélnie a Névre.

Törölje az ismétlődő rekordokat az Oracle 3. lépésében
Törölje az ismétlődő rekordokat az Oracle 3. lépésében

3. lépés. Határozza meg a többi oszlopot

Ha különböző oszlopokból próbálja azonosítani az ismétlődéseket, például Alan korát a neve helyett, írja be az „életkor” értéket az „oszlopnév” helyett, és így tovább.

válasszon oszlopnév, szám (oszlop_neve) táblázatcsoportból oszlopnév szerint, amelynek száma (oszlopnév)> 1;

2. módszer a 4 -ből: Egyetlen ismétlődés eltávolítása

Törölje az ismétlődő rekordokat az Oracle 4. lépésében
Törölje az ismétlődő rekordokat az Oracle 4. lépésében

1. lépés: Válassza ki a „név a nevekből” lehetőséget

Az "SQL" (rövidítve a szabványos lekérdezési nyelv) után írja be: "válasszon nevet a nevekből".

Törölje az ismétlődő rekordokat az Oracle 5. lépésében
Törölje az ismétlődő rekordokat az Oracle 5. lépésében

2. lépés Törölje az ismétlődő neveket tartalmazó összes sort

Az "SQL" után írja be: "delete from names where name = 'Alan';." Meg kell jegyezni, hogy a nagybetűk itt fontosak, hogy ez a lépés törölheti az összes "Alan" nevű sort. Az "SQL" után írja be a "véglegesítés" parancsot

Törölje az ismétlődő rekordokat az Oracle 6. lépésében
Törölje az ismétlődő rekordokat az Oracle 6. lépésében

3. lépés: Adja meg újra a sorokat ismétlődések nélkül

Most, hogy az összes sort törölte, és "Alan" -ra cserélte, töltsön be egyet az "insert into name values ('Alan');." Az "SQL" után írja be a "kötelezettségvállalás" parancsot egy új sor létrehozásához.

Törölje az ismétlődő rekordokat az Oracle 7. lépésében
Törölje az ismétlődő rekordokat az Oracle 7. lépésében

4. lépés: Tekintse meg az új listát

A fenti lépések elvégzése után ellenőrizheti, hogy nincsenek -e ismétlődő rekordok, ha beírja a "select * from names" -t.

SQL> válasszon nevet a nevek közül; Név ------------------------------ Alan Citra Tomi Alan Baris kiválasztva. SQL> törlés a nevekből, ahol name = 'Alan'; A sor törlődik. SQL> vállalja; / Elkötelezett. SQL> beillesztés a nevekbe értékek ('Alan'); sor létrehozva. SQL> vállalja; Elkötelezett. SQL> válasszon * a nevek közül; NAME ------------------------------ Alan Citra Tomi sorok kijelölve.

3. módszer a 4 -ből: Több ismétlés eltávolítása

Törölje az ismétlődő rekordokat az Oracle 8. lépésében
Törölje az ismétlődő rekordokat az Oracle 8. lépésében

1. lépés Válassza ki a törölni kívánt RID azonosítót

Az "SQL" után írja be: "select rowid, name from names;."

Törölje az ismétlődő rekordokat az Oracle 9. lépésében
Törölje az ismétlődő rekordokat az Oracle 9. lépésében

2. lépés. Távolítsa el az ismétlődéseket

Az "SQL" után írja be: "delete from names a a where rowid> (válassza ki a min (rowid) értéket a b nevekből, ahol b.name = a.name);" az ismétlődések eltávolításához.

Törölje az ismétlődő rekordokat az Oracle 10. lépésében
Törölje az ismétlődő rekordokat az Oracle 10. lépésében

3. lépés. Ellenőrizze az ismétlődéseket

A fenti lépések elvégzése után ellenőrizze az ismétlődéseket a "select rowid, name from names;" akkor "vállalni".

SQL> select rowid, name from names; ROWID NEVE ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAB Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Tom AABJnsAAGAAAdfOAAF Alan sorok kijelölve. SQL> törlés a nevekből a ahol sor> sorok törölve. SQL> select rowid, name from names; ROWID NEVE ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Tom sorok kijelölve. SQL> vállalja; Elkötelezett.

4. módszer a 4 -ből: Sorok törlése oszlopok szerint

Törölje az ismétlődő rekordokat az Oracle 11. lépésében
Törölje az ismétlődő rekordokat az Oracle 11. lépésében

1. lépés. Válassza ki a sort

Az "SQL" után írja be: "select * a nevek közül;" hogy lássam a vonalat.

Törölje az ismétlődő rekordokat az Oracle 12. lépésében
Törölje az ismétlődő rekordokat az Oracle 12. lépésében

2. lépés Az oszlopok azonosításával távolítsa el az ismétlődő sorokat

Az "SQL" után "írja be" törölje a nevekből a ahol a sor>> (válassza ki a min (rowid) lehetőséget a b nevekből, ahol b.név = a.név és b.age = a.age); " az ismétlődő rekordok eltávolításához.

Törölje az ismétlődő rekordokat az Oracle 13. lépésében
Törölje az ismétlődő rekordokat az Oracle 13. lépésében

3. lépés. Ellenőrizze az ismétlődéseket

Miután elvégezte a fenti lépéseket, írja be: "select * from names;" majd "kötelezze el", hogy megnézze, valóban eltávolították -e az ismétlődéseket.

SQL> válasszon * a nevek közül; NEV KOR ------------------------------ ---------- Alan 50 Citra 51 Tomi 52 Alan 50 sorok kijelölve. SQL> törlés a nevekből a ahol sor> sor törölve. SQL> válasszon * a nevek közül; NEV KOR ------------------------------ ---------- Alan 50 Citra 51 Tomi 52 sor kiválasztva. SQL> vállalja; Elkötelezett.

Figyelem

  • Hozzon létre egy ismétlődő táblázatot bejelentkezési adataiban, hogy tartalmi hivatkozásként használható legyen, ha nincsenek adatok törölve (ha kérdése van).

    SQL> táblázat létrehozása alan.names_backup as select * névből; Táblázat létrehozva.

Ajánlott: