Како да ги избришете повторувачките записи во oracle
Повторувачките линии во Oracle можат да се диференцираат само со користење на нивната "rowid" (линија адреса).
Чекори
Еден. Отстранете ја низата користејќи rowid. Ова е најлесниот начин за отстранување на записот.
SQL> Избери Rowid, Име од имиња-rowidname ------------------ ---------------------- -------- AABJNSAAAAAAAAAAAAAAAAAAAAAAAAAAAC Carrieaabjnsaagaaadfoaad Tom4 редови избрани.SQL> Избриши од имиња каде rowid = `aabjnsaagaaadfoaaa`-1 ред е избришан.Sql> complet-complete заврши.SQL> Избери Роуид, име од имиња-rowidname ------------------ -------------------- AABJNSAAAAAAAAAAAAAAAAAD CarrieaAbjnsaagaADFOAD Избрани Том3 редови.

2. Избришете ги сите повторувачки линии освен еден.
SQL> Изберете име од имиња-Име ------------------------------- Alancarrietlomal4 редови избрани.SQL> Избриши од имиња каде што избришани името = "Alan`-2 редови избришани.Sql> complet-complete заврши.SQL> вметнете во имиња вредности ("Алан") - 1 ред создаден.Sql> complet-complete заврши.SQL> Избери * од името на имињата ------------------------------- Alancarrietomrows избрани.

3. Користете ја функцијата MAX или MIN за да ги избришете и избришете сите други линии. Во овој случај, ако има неколку дупликати, тие ќе бидат избришани.
SQL> Избери Rowid, Име од имиња-rowidname ------------------ ---------------------- -------- AABJNSAAAAAAAAAAAAAAAAAAAAAAC Carrieaabjansaagaaadfoaad TomaabjnsaagaAdfoaaf Alan5 Редови избрани.SQL> Избриши од имиња A2 Кадеј ROWID> (Изберете Min (Rowid) од имињата B3 каде што B.Име = А.Name4) -2 редови избришани.SQL> Избери Rowid, Име од имиња-rowidname ------------------ ---------------------- -------- AABJNSAAADFOAAAAAAAC CarrieaAbjnsaac Carrieaabjnsaagaaadfoaad Tom3 редови избрани.Sql> complet-complete заврши.}}}
[[Image: Избришете дупликат записи во Oracle Чекор 4.JPG | Центар | 550px]] {{codebox | Lang = "Oracle8"> SQL> Избери * од имиња-nameage ---------------------------------- ---- alan50carrie51tom52ALAN504 избрани редови.SQL> Избриши од имиња A2 Кадеј ROWID> (Изберете Min (Rowid) од имињата B3 каде што B.Име = А.Име4 и Б.Возраст = А.Age5) -1 ред избришани.SQL> Одберете * од имиња-nameage --------------------------------------- alan50carrie51tom52rows.Sql> complet-complete заврши.
Предупредувања
- Направете резервна копија од табелата за споредба и покажете ја содржината на табелата пред да избришете нешто (ако имате било какви прашања).
SQL> Креирај Табела Алан.Inestry_backup како Избери * од креирани имиња-табела.