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ó: 3 PÉNZKERESÉSI lehetőség 18 év ALATT (Akár otthonról is) 2024, Április
Anonim

Amikor az Oracle -ben dolgozik, előfordulhat, hogy egyes rekordjai ismétlődnek. Ezeket az ismétlődő sorokat törölheti, ha azonosítja őket, és használja a sor azonosítóját vagy sorcímét. Mielőtt elkezdené, létre kell hoznia egy biztonsági mentési táblázatot arra az esetre, ha hivatkoznia kell rájuk a rekordok törlése után.

Lépések

1. módszer a 4 -ből: Az ismétlődés 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. Azonosítsa az ismétlődést

Ebben az esetben azonosítsa a példány ismétlődését, "Alan". Győződjön meg arról, hogy a törölni kívánt 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ítás a "Nevek" nevű oszlopból

"A" Nevek "nevű oszlopban az" oszlop_neve "értéket a Nevekre cserélné.

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: Azonosítás más oszlopokból

Ha a másolatot egy másik oszlop alapján próbálta azonosítani, például Alan korával, nem pedig a nevével, akkor az "oszlopnév" helyére írja be az "Ages" értéket é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 másolat törlése

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 "után, amely a Standard Query Language (Standard lekérdezési nyelv) rövidítése, írja be:" select name from names."

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ő névvel rendelkező összes sort

Az "SQL" után írja be a "delete" nevet azokból a nevekből, ahol name = 'Alan';. " Vegye figyelembe, hogy a nagybetűk itt fontosak, így az összes "Alan" nevű sort törli. 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. Bérelje ki a sort duplikáció nélkül

Most, hogy az "Alan" példa nevű összes sort törölte, az egyiket visszaillesztheti az "insert into name values ('Alan');." Az "SQL" után írja be a "kötelezettségvállalás" parancsot az ú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ásd az új listát

Miután elvégezte a fenti lépéseket, ellenőrizze, hogy nincsenek -e ismétlődő rekordok, és írja be a "select * a nevekből" lehetőséget.

SQL> válasszon nevet a nevek közül; NAME ------------------------------ Alan Carrie Tom Alan sorok kijelölve. SQL> törlés a nevekből, ahol name = 'Alan'; sorok törölve. SQL> véglegesítés; Elkötelezett. SQL> beillesztés a nevekbe értékek ('Alan'); sor létrehozva. SQL> véglegesítés; Elkötelezett. SQL> válasszon * a nevek közül; NAME ------------------------------ Alan Carrie Tom sorok vannak kiválasztva.

3. módszer a 4 -ből: Több ismétlés törlése

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örölje az ismétlődést

Az "SQL" után írja be a "delete" nevet a nevekből a ahol sor>> (válassza ki a min (rowid) lehetőséget a b nevekből, ahol b.név = a.név); " az ismétlődő rekordok törléséhez.

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

Miután elvégezte a fentieket, a parancsok a "select rowid, name from names;" paranccsal ellenőrzik, hogy vannak -e ismétlődő rekordok. és 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églegesítés; Elkötelezett.

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

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 sorait

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

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 Törölje az ismétlődő sorokat az oszlop azonosításával

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 törléséhez.

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 végezze el a "véglegesítést" annak ellenőrzésére, hogy sikeresen törölte -e az ismétlődő rekordokat.

SQL> válasszon * a nevek közül; NEV KOR ------------------------------ ---------- Alan 50 Carrie 51 Tom 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; NAME AGE ------------------------------ ---------- Alan 50 Carrie 51 Tom 52 sor van kiválasztva. SQL> véglegesítés; Elkötelezett.

Figyelmeztetések

  • Hozzon létre egy biztonsági mentési táblázatot saját bejelentkezésében, amellyel megmutathatja, mi volt a törlés előtt (ha bármilyen 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: